stripos

(PHP 5)

stripos --  Возвращает позицию первого вхождения подстроки без учета регистра

Описание

int stripos ( string haystack, string needle [, int offset] )

Возвращает позицию первого вхождения подстроки needle в строку haystack. В отличие от strpos(), эта функция не учитывает регистр символов.

needle должен содержать не менее одного символа.

Если подстрока needle не найдена, stripos() возвращает FALSE.

Внимание

Эта функция может возвращать как логическое значение FALSE, так и не относящееся к логическому типу значение, которое приводится к FALSE, например, 0 или "". За более подробной информации обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Пример 1. Пример использования stripos()

<?php
$findme   
= 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// Конечно, 'a' не входит в 'xyz'
if ($pos1 === false) {
   echo
"Строка '$findme' не найдена в строке '$mystring1'";
}

// Заметьте, что используется ===.  Использование == не даст верного
// результата, так как 'a' в нулевой позиции.
if ($pos2 !== false) {
   echo
"Нашел '$findme' в '$mystring2' в позиции $pos2";
}
?>

Если needle не является строкой, он приводится к целому и трактуется как код символа.

Необязательный аргумент offset позволяет указать, с какого по счету символа строки haystack начинать поиск. Возвращается всегда позиция относительно начала строки haystack.

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

См. также описание функций strpos(), strrpos(), strrchr(), substr(), stristr(), strstr(), strripos() и str_ireplace().



stripos
michiel at mb-it dot nl
10-Jul-2006 04:03
Since the stripos-function is PHP5-only, the function below could give PHP4-users the same functionallity:

function stripos($string,$word)
{
   $retval = false;
   for($i=0;$i<=strlen($string);$i++)
   {
       if (strtolower(substr($string,$i,strlen($word))) == strtolower($word))
       {
           $retval = true;
       }
   }
   return $retval;
}
rchillet at hotmail dot com
28-Apr-2006 01:45
improvement the function of heavyraptor with int offset parametre.

if (!function_exists("stripos")) {
  function stripos($str,$needle,$offset=0)
  {
     return strpos(strtolower($str),strtolower($needle),$offset);
  }
}
heavyraptor
21-Mar-2006 06:59
If you're using PHP < 5, you can use this alternate function, same thing like stripos:

<?php
if (!function_exists("stripos")) {
  function
stripos($str,$needle) {
   return
strpos(strtolower($str),strtolower($needle));
  }
}
?>

Such a logical function but I hope it helps ...
sim
02-Oct-2004 10:17
Just to be explicit, the position index returned by strpos starts at 0, not 1. e.g. strpos('abc','a') returns 0.
aidan at php dot net
30-May-2004 10:36
This functionality is now implemented in the PEAR package PHP_Compat.

More information about using this function without upgrading your version of PHP can be found on the below link:

http://pear.php.net/package/PHP_Compat

<stripcslashesstripslashes>
 Last updated: Tue, 15 Nov 2005