stristr

(PHP 4, PHP 5, PHP 7, PHP 8)

stristrРегистронезависимый вариант функции strstr()

Описание

stristr(string $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.2.0 Преобразование регистра больше не зависит от локали, установленной с помощью функции setlocale(). Будут преобразованы только символы ASCII. Байты не ASCII-кодировке будут сравниваться по значению байта.
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); // выводит 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() - Выполняет проверку на соответствие регулярному выражению