Функция возвращает часть строки haystack
от начала первого вхождения подстроки needle и до конца входной строки.
haystackСтрока, в которой выполняется поиск.
needleСтрока, которую требуется найти.
До PHP 8.0.0 нестроковый аргумент needle
преобразовывался в целое число и заменялся на символ с этим порядковым значением в однобайтовой таблице символов.
Начиная с PHP 7.3.0 передача нестроковых значений устарела и полагаться на него настоятельно не рекомендуют.
Перед вызовом функции нестроковый аргумент needle требовалось
либо приводить к строке, либо получать строковое значение символа функцией chr().
before_needle
При установке для параметра значения true функция stristr()
возвращает часть «стога» haystack, которая
идёт перед первым вхождением «иголки» needle,
не включая «иголку».
Параметры needle и haystack
обрабатываются без учёта регистра.
Функция возвращает часть входной строки.
Функция возвращает значение false, если не находит подстроку needle.
| Версия | Описание |
|---|---|
| 8.2.0 | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale(). Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, сравнятся по значению байта. |
| 8.0.0 |
Параметр needle теперь разрешает пустую строку.
|
| 8.0.0 |
Передача целого числа (int) в параметр needle
больше не поддерживается.
|
| 7.3.0 |
Передача целого числа (int) в параметр needle
устарела.
|
Пример #1 Пример получения подстроки функцией stristr()
<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'), PHP_EOL; // Выводит: ER@EXAMPLE.com
echo stristr($email, 'e', true), PHP_EOL; // Выводит: US
?>
Пример #2 Проверка на вхождение строки
<?php
$string = 'Hello World!';
if (stristr($string, 'earth') === FALSE) {
echo 'Функция не нашла в строке подстроку "earth"';
}
// Выводит: Функция не нашла в строке подстроку "earth"
?>Замечание: Функция безопасна для обработки данных в двоичной форме.