strstr

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

strstrНаходит первое вхождение подстроки

Описание

strstr(string $haystack, string $needle, bool $before_needle = false): string|false

Функция возвращает подстроку строки haystack, начиная с первого вхождения needle (и включая его) и до конца строки haystack.

Замечание:

Функция учитывает регистр символов. Для поиска без учёта регистра пользуются функцией stristr().

Замечание:

Вместо этой функции пользуются функцией str_contains(), которая ищет быстрее и с меньшим потреблением памяти, когда требуется только определить, встречается ли подстрока needle в строке haystack.

Список параметров

haystack

Входная строка, в которой функция будет искать.

needle

Строка, которую функция будет искать.

До PHP 8.0.0, если параметр needle — не строка, он преобразовывается в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0 и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведён к строке, либо должен быть выполнен явный вызов функции chr().

before_needle

Функция strstr() возвращает часть строки haystack до первого вхождения подстроки needle, исключая «иглу», когда для параметра установили значение true.

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

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

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

Версия Описание
8.0.0 Параметр needle теперь разрешает пустую строку.
8.0.0 Функция больше не поддерживает передачу целого числа (int) в параметр needle.
7.3.0 Предача целого числа (int) в параметр needle устарела.

Примеры

Пример #1 Пример использования функции strstr()

<?php

$email
= 'name@example.com';
$domain = strstr($email, '@');
echo
$domain; // Выводит @example.com

$user = strstr($email, '@', true);
echo
$user; // Выводит name

?>

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

  • stristr() - Регистронезависимый вариант функции strstr
  • strrchr() - Находит последнее вхождение символа в строке
  • strpos() - Возвращает позицию первого вхождения подстроки
  • strpbrk() - Ищет в строке любой символ из заданного набора
  • preg_match() - Выполняет проверку на соответствие регулярному выражению