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

# stristr

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

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

### Описание

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

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

Функция возвращает часть входной строки. Функция возвращает значение `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"

    ?>

### Примечания

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

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

- strstr() - Находит первое вхождение подстроки
- strrchr() - Находит последнее вхождение символа в строке
- stripos() - Возвращает позицию первого вхождения подстроки без учёта регистра
- strpbrk() - Ищет в строке символ из набора
- preg_match() - Выполняет проверку на соответствие регулярному выражению

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open