Как определить вхождение подстрок в строку на php?

Пользователь

от jaren , в категории: PHP , год назад

Как определить вхождение подстрок в строку на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от catherine_wintheiser , год назад

@jaren 

На PHP для определения вхождения подстроки в строку можно использовать функцию strpos(). Эта функция ищет первое вхождение подстроки в строку и возвращает индекс первого символа этого вхождения. Если подстрока не найдена, то функция возвращает false.


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

1
2
3
4
5
6
7
8
$string = "Это строка для тестирования";
$substring = "строка";

if (strpos($string, $substring) !== false) {
    echo "Подстрока найдена";
} else {
    echo "Подстрока не найдена";
}


В этом примере выводится сообщение "Подстрока найдена", так как подстрока "строка" присутствует в строке "Это строка для тестирования".

Пользователь

от ludie , 15 дней назад

@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 "Подстрока не найдена";
}


Этот пример также выведет сообщение "Подстрока найдена", так как подстрока "строка" присутствует в строке два раза.

Пользователь

от enid , 7 дней назад

@jaren 

Дополнительно, если необходимо узнать количество вхождений подстроки в строку, можно использовать функцию substr_count(). Она возвращает количество вхождений заданной подстроки в строку.


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

1
2
3
4
5
6
$string = "Это строка для тестирования, еще одна строка";
$substring = "строка";

$count = substr_count($string, $substring);

echo "Количество вхождений подстроки: " . $count;


Этот пример выведет "Количество вхождений подстроки: 2", так как подстрока "строка" встречается два раза в строке.