Forum Webscript.Ru

Программирование => PHP => Тема начата: kolyuchii.exe от 21 Декабря 2007, 11:29:40

Название: функция stripos
Отправлено: kolyuchii.exe от 21 Декабря 2007, 11:29:40
Дело было так: по совету начал работать с функцией strpos(), но она регистрозависима. Нашёл функцию stripos(), но она не работает - почему?
Название: функция stripos
Отправлено: for_i_0 от 21 Декабря 2007, 11:50:47
kolyuchii.exe
не уверен, скорее всего у вас ошибка в данных, но если вы уверены пожалуйста приведите пример.
Название: функция stripos
Отправлено: kolyuchii.exe от 21 Декабря 2007, 12:08:18
Сейчас обратил внимание, на то что у меня функции с "i" вообще не работают...

К примеру: функция str_ireplace() выдаёт вот такую весч:

Fatal error: Call to undefined function: str_ireplace()

при вот таком коде:


$word = "бла бла бла бла бла бл абла бла блабла"; //то в чём я ищу

if(!empty($_GET[\'text\']))
{
$say = $_GET[\'text\']; //что я ищу
echo str_ireplace ($say, "".$say."", $word);
}
?>
Название: функция stripos
Отправлено: kolyuchii.exe от 21 Декабря 2007, 12:29:03
Быть может это несовместимость версий. Мой апач до 5-й версии (точно не помню). Может быть такое?
Название: функция stripos
Отправлено: hanslinger от 21 Декабря 2007, 12:50:07
[p]str_ireplace[/p]
Цитировать
(PHP 5)
Название: функция stripos
Отправлено: for_i_0 от 21 Декабря 2007, 15:19:26
спасибо автору за ошибку
Цитировать
kolyuchii.exe:
Fatal error: Call to undefined function: str_ireplace()


[off]тема закрыта[/off]
Название: функция stripos
Отправлено: AliMamed от 28 Декабря 2007, 16:08:51
c php.net

## HOMEBREW str_ireplace() FOR PRE-PHP 5.0
if (!function_exists(\'str_ireplace\')  {
  function str_ireplace($search,$replace,$subject) {
    $token = \'^[[term^]\';
    $haystack = strtolower($subject);
    $needle = strtolower($search);
    while (($pos=strpos($haystack,$needle))!==FALSE)  {
      $c++;
      $subject = substr_replace($subject,$token,$pos,strlen($search));
      $haystack = substr_replace($haystack,$token,$pos,strlen($search));
    }
    while (($pos=strpos($subject,$token))!==FALSE)  {
      $subject = substr_replace($subject,$replace,$pos,strlen($token));
    }
    return $subject;
  }
}