stripos

(PHP 5, PHP 7)

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

Описание

mixed stripos ( string $haystack , string $needle [, int $offset = 0 ] )

Ищет позицию первого вхождения подстроки needle в строку haystack.

В отличие от strpos(), эта функция не учитывает регистр символов.

Список параметров

haystack

Строка, в которой производится поиск.

needle

Заметьте, что needle может содержать строку из одного или более символов.

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

offset

Если этот параметр указан, то поиск будет начат с указанного количества символов с начала строки. В отличии от strrpos() и strripos() данный параметр не может быть отрицательным.

Возвращаемые значения

Возвращает позицию, в которой находится искомая строка, относительно начала строки haystack (независимо от смещения (offset). Также обратите внимание на то, что позиция строки отсчитывается от 0, а не от 1.

Возвращает FALSE, если искомая строка не найдена.

Внимание

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

Примеры

Пример #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";
}
?>

Примечания

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

Смотрите также

  • mb_stripos() - Поиск позиции первого вхождения одной строки в другую, нечувствителен к регистру
  • strpos() - Возвращает позицию первого вхождения подстроки
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • strripos() - Возвращает позицию последнего вхождения подстроки без учета регистра
  • stristr() - Регистронезависимый вариант функции strstr
  • substr() - Возвращает подстроку
  • str_ireplace() - Регистронезависимый вариант функции str_replace

Коментарии

I found myself needing to find the first position of multiple needles in one haystack.  So I wrote this little function:

<?php
function multineedle_stripos($haystack$needles$offset=0) {
    foreach(
$needles as $needle) {
       
$found[$needle] = stripos($haystack$needle$offset);
    }
    return 
$found;
}

// It works as such:
$haystack "The quick brown fox jumps over the lazy dog.";
$needle = array("fox""dog"".""duck")
var_dump(multineedle_stripos($haystack$needle));
/* Output:
   array(3) {
     ["fox"]=>
     int(16)
     ["dog"]=>
     int(40)
     ["."]=>
     int(43)
     ["duck"]=>
     bool(false)
   }
*/
?>
2009-02-24 21:31:52
http://php5.kiev.ua/manual/ru/function.stripos.html
Regarding the function by spam at wikicms dot org

It is very bad practice to use the same function name as an existing php function but have a different output format.  Someone maintaining the code in the future is likely to be very confused by this.  It will also be hard to eradicate from a codebase because the naming is identical so each use of stripos() would have to be analyzed to see how it is expecting the output format (bool or number/bool).

Calling it string_found() or something like that would make a lot more sense for long-term use.
2015-03-04 16:08:11
http://php5.kiev.ua/manual/ru/function.stripos.html
Автор:
Regarding the === note, it might be worth clarifying that the correct tests for a binary found/not found condition are  !==false to detect found, and ===false to detect not found.
2015-08-29 13:25:57
http://php5.kiev.ua/manual/ru/function.stripos.html
Unlike strpos() it seems that stripos() does NOT issue a WARNING if the needle is an empty string ''.
2018-08-02 04:48:15
http://php5.kiev.ua/manual/ru/function.stripos.html
Finding numbers in strings requires you to cast the number to string first.

strpos("123", 2) !== strpos("123", "2")
2018-08-19 17:07:04
http://php5.kiev.ua/manual/ru/function.stripos.html

    Поддержать сайт на родительском проекте КГБ