Регулярное выражение как произвести поиск тега

Ответы (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

→ Ссылка