Регулярное выражение как произвести поиск тега
Ответы (1 шт):
Автор решения: Алексей Шиманский
Вы забыли // в регулярном выражении. Паттерн всегда начинается и всегда заканчивается опознавательным знаком, как правило это слэш. Плюс ещё одни скобки нужны, вроде как
<?php
$html = "<script>var test = 'asdsdasdasad';</script><script>var asd = 'dsadsadsasdadsa';</script>";
preg_match_all('/(<script>var test = (.*?)<\/script>)/', $html, $scripts);
var_dump($scripts);
array(3) {
[0]=>
array(1) {
[0]=>
string(43) "<script>var test = 'asdsdasdasad';</script>"
}
[1]=>
array(1) {
[0]=>
string(43) "<script>var test = 'asdsdasdasad';</script>"
}
[2]=>
array(1) {
[0]=>
string(15) "'asdsdasdasad';"
}
}
Вообще парсить html регуляркой не самая лучшая идея. Для этого нужно использовать библиотеку работы с html, dom, например https://www.php.net/manual/ru/book.simplexml.php или https://www.php.net/manual/ru/domdocument.loadhtmlfile.php
→ Ссылка
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Вы забыли // в регулярном выражении. Паттерн всегда начинается и всегда заканчивается опознавательным знаком, как правило это слэш. Плюс ещё одни скобки нужны, вроде как
<?php
$html = "<script>var test = 'asdsdasdasad';</script><script>var asd = 'dsadsadsasdadsa';</script>";
preg_match_all('/(<script>var test = (.*?)<\/script>)/', $html, $scripts);
var_dump($scripts);
array(3) {
[0]=>
array(1) {
[0]=>
string(43) "<script>var test = 'asdsdasdasad';</script>"
}
[1]=>
array(1) {
[0]=>
string(43) "<script>var test = 'asdsdasdasad';</script>"
}
[2]=>
array(1) {
[0]=>
string(15) "'asdsdasdasad';"
}
}
Вообще парсить html регуляркой не самая лучшая идея. Для этого нужно использовать библиотеку работы с html, dom, например https://www.php.net/manual/ru/book.simplexml.php или https://www.php.net/manual/ru/domdocument.loadhtmlfile.php