我怎么做preg_replace?

问题描述 投票:-2回答:1

我正在尝试从站点获取数据,但是存在一些问题。我想更改以<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>
php preg-replace
1个回答
0
投票

没有理由调用preg_quote(),并且可以防止将(.*?)视为模式。而且,您可以将捕获组放置在第二个.*?之前的所有内容上,而不是将捕获组放置在</div>附近。

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

[preg_quote()当您想将动态输入转换为正则表达式中的文字值时需要。

© www.soinside.com 2019 - 2024. All rights reserved.