Описание
$haystack
, string $needle
, bool $before_needle = false
) : string|false
Возвращает всю строку haystack начиная с
первого вхождения needle включительно.
Список параметров
-
haystack -
Строка, в которой производится поиск
-
needle -
До PHP 8.0.0, если параметр
needleне является строкой, он преобразуется в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0, и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметрneedleдолжен быть либо явно приведен к строке, либо должен быть выполнен явный вызов chr(). -
before_needle -
Если установлен в
true, stristr() возвращает часть строкиhaystackдо первого вхожденияneedle(не включая needle).
needle и haystack
обрабатываются без учета регистра.
Возвращаемые значения
Возвращает указанную подстроку. Если подстрока needle не найдена,
возвращается false.
Список изменений
| Версия | Описание |
|---|---|
| 8.0.0 |
Передача целого числа (int) в needle больше не поддерживается.
|
| 7.3.0 |
Передача целого числа (int) в needle объявлена устаревшей.
|
Примеры
Пример #1 Пример использования stristr()
<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'); // выводит ER@EXAMPLE.com
echo stristr($email, 'e', true); // Начиная с PHP 5.3.0, выводит US
?>
Пример #2 Проверка на вхождение строки
<?php
$string = 'Hello World!';
if(stristr($string, 'earth') === FALSE) {
echo '"earth" не найдена в строке';
}
// выводит: "earth" не найдена в строке
?>
Пример #3 Использование не строки в поиске
<?php
$string = 'APPLE';
echo stristr($string, 97); // 97 = a в нижнем регистре
// выводит: APPLE
?>
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- strstr() - Находит первое вхождение подстроки
- strrchr() - Находит последнее вхождение символа в строке
- stripos() - Возвращает позицию первого вхождения подстроки без учета регистра
- strpbrk() - Ищет в строке любой символ из заданного набора
- preg_match() - Выполняет проверку на соответствие регулярному выражению