как я могу сделать preg_replace? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь получить данные с сайта, но есть некоторые проблемы. Я хочу изменить выражение, начинающееся с <div class="phraserec" и заканчивающееся </div></div>, как я могу это сделать?

$source = "<div class="gwblock" id="1936036"><div class="phraserec"bla bla...</div></div>"
$output = preg_replace('/'. preg_quote('<div class="phraserec" '.'(.*?)'.'</div></div>','/') .'/', '</div>' , $ll);

Я хотел вывод;

<div class="gwblock" id="1936036"><div class="phraserec"bla bla...</div>

1 Ответ

0 голосов
/ 18 октября 2019

Нет причины звонить preg_quote(), и это мешает (.*?) рассматриваться как шаблон. И вместо того, чтобы поместить группу захвата вокруг .*?, вы можете поместить ее вокруг всего до того, как потребуется второй </div>.

$output = preg_replace('#(<div class="phraserec".*?</div>)</div>#', '$1', $source);

preg_quote(), если вы хотите превратить динамический ввод в литералзначение в регулярном выражении.

...