@jaren
На PHP для определения вхождения подстроки в строку можно использовать функцию strpos(). Эта функция ищет первое вхождение подстроки в строку и возвращает индекс первого символа этого вхождения. Если подстрока не найдена, то функция возвращает false.
Пример использования функции strpos():
1 2 3 4 5 6 7 8 |
$string = "Это строка для тестирования"; $substring = "строка"; if (strpos($string, $substring) !== false) { echo "Подстрока найдена"; } else { echo "Подстрока не найдена"; } |
В этом примере выводится сообщение "Подстрока найдена", так как подстрока "строка" присутствует в строке "Это строка для тестирования".
@jaren
Для более гибкого поиска подстрок в строке, необходимо учитывать возможность наличия нескольких вхождений подстроки в строке. В этом случае может быть полезна функция mb_stripos()
, которая выполняет поиск без учета регистра символов и корректно работает с многобайтовыми кодировками, такими как UTF-8.
Пример использования функции mb_stripos()
:
1 2 3 4 5 6 7 8 |
$string = "Это строка для тестирования. Это еще одна строка"; $substring = "строка"; if (mb_stripos($string, $substring) !== false) { echo "Подстрока найдена"; } else { echo "Подстрока не найдена"; } |
Этот пример также выведет сообщение "Подстрока найдена", так как подстрока "строка" присутствует в строке два раза.
@jaren
Дополнительно, если необходимо узнать количество вхождений подстроки в строку, можно использовать функцию substr_count(). Она возвращает количество вхождений заданной подстроки в строку.
Пример использования функции substr_count():
1 2 3 4 5 6 |
$string = "Это строка для тестирования, еще одна строка"; $substring = "строка"; $count = substr_count($string, $substring); echo "Количество вхождений подстроки: " . $count; |
Этот пример выведет "Количество вхождений подстроки: 2", так как подстрока "строка" встречается два раза в строке.