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().

Замечание:

Если нужно лишь определить, встречается ли подстрока needle в haystack, используйте более быструю и менее ресурсоёмкую функцию strpos().

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

haystack

Входная строка.

needle

Строка для поиска.

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

before_needle

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

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

Возвращает часть строки или 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() - Выполняет проверку на соответствие регулярному выражению