Как из строки получить подстроку по регулярному выражению в php?

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

от cooper.berge , в категории: PHP , 2 года назад

Как из строки получить подстроку по регулярному выражению в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от camren , 2 года назад

@cooper.berge 

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


Если вам нужно получить первое вхождение подстроки, соответствующей регулярному выражению, то можно использовать следующий код:

1
2
3
4
5
6
7
8
$string = "Это тестовая строка";
$pattern = "/тестовая/";

if (preg_match($pattern, $string, $matches)) {
    echo "Найдено совпадение: " . $matches[0];
} else {
    echo "Совпадений не найдено.";
}


В данном примере мы ищем подстроку "тестовая" в строке "$string". Если в строке найдено совпадение, то результат будет выведен на экран. Обратите внимание, что совпадение будет содержаться в массиве $matches, и чтобы получить его значение, нужно обратиться к элементу массива с индексом 0.


Если вам нужно получить все вхождения подстрок, соответствующих регулярному выражению, то можно использовать функцию preg_match_all(). Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$string = "Это тестовая строка для тестирования";
$pattern = "/тест/";

if (preg_match_all($pattern, $string, $matches)) {
    echo "Найдено " . count($matches[0]) . " совпадений:";
    foreach ($matches[0] as $match) {
        echo $match . "
";
    }
} else {
    echo "Совпадений не найдено.";
}


В данном примере мы ищем все подстроки "тест" в строке "$string". Если в строке найдены совпадения, то результат будет выведен на экран. Обратите внимание, что совпадения будут содержаться в массиве $matches, и чтобы получить их значения, нужно обратиться к элементам массива с индексом 0.