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 и haystack обрабатываются без учёта регистра.

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

Функция возвращает совпавшую подстроку. Если функция не нашла подстроку needle, возвращается false.

Список изменений

ВерсияОписание
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'); // Выводит: 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() - Выполняет проверку на соответствие регулярному выражению
To Top