我正在尝试从站点获取数据,但是存在一些问题。
我想更改以<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>
答案 0 :(得分:0)
没有理由调用preg_quote()
,并且可以防止(.*?)
被当作模式。而且,您可以将捕获组放置在第二个.*?
之前的所有内容上,而不必将捕获组放置在</div>
周围。
$output = preg_replace('#(<div class="phraserec".*?</div>)</div>#', '$1', $source);
如果要将动态输入转换为正则表达式中的文字值,则需要 preg_quote()
。