Проверить наличие текста в строке

1-ый способ: поиск строки

С версии PHP 8.0 стала доступна функция str_contains().

str_contains('PHP-скрипт', 'PHP'); // true
str_contains('PHP-скрипт', 'Python'); // false

Также можно проверить, что указанная строка начинается или заканчивается с указанной строки:

// Строка начинается на "PHP"
str_starts_with('PHP-скрипт', 'PHP'); // true
str_starts_with('Скрипт PHP', 'PHP'); // false

// Строка заканчивается на "PHP"
str_ends_with('PHP-скрипт', 'PHP'); // false
str_ends_with('Скрипт PHP', 'PHP'); // PHP

До версии PHP 8.0 использовалась функция strpos(), которая возвращает позицию указанного текста. Если текст не найден, то функция возвращает -1.

$text = 'PHP-script';
if (strpos($text, 'PHP') !== false) {
    echo 'строка найдена';
}

Также можно указать третий параметр, который указывает, откуда начинать искать строку.

2-ой способ: регулярное выражение

Проверить наличие текста с помощью регулярных выражений можно через функцию preg_match().

$text = 'PHP-script';
if (preg_match('/PHP/', $text)) {
    echo 'строка найдена';
}

Если надо найти просто текст, как на примере выше, то из-за производительности лучше использовать функцию strpos(). Об этом также написано в официальной документации php.net/manual/ru/function.preg-match.php.

Для более сложных поиска текста можно использовать preg_match().

// Код проверяет наличие строк «PHP-script» и «Python-script»
$text = 'PHP-script';
if (preg_match('/(PHP|Python)-script/', $text)) {
    echo 'строка найдена';
}