我该怎么做 preg_replace?
how can I do preg_replace?
我正在尝试从站点获取数据,但出现了一些问题。
我想更改以 <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>
没有理由调用 preg_quote()
,它阻止 (.*?)
被视为模式。而不是将捕获组放在 .*?
附近,您可以将它放在第二个 </div>
.
之前的所有内容周围
$output = preg_replace('#(<div class="phraserec".*?</div>)</div>#', '', $source);
preg_quote()
当您想将动态输入转换为正则表达式中的文字值时需要。
我正在尝试从站点获取数据,但出现了一些问题。
我想更改以 <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>
没有理由调用 preg_quote()
,它阻止 (.*?)
被视为模式。而不是将捕获组放在 .*?
附近,您可以将它放在第二个 </div>
.
$output = preg_replace('#(<div class="phraserec".*?</div>)</div>#', '', $source);
preg_quote()
当您想将动态输入转换为正则表达式中的文字值时需要。