删除<p><br></p>
字符串开头和结尾的冗余标签,中间仅保留一个。
输入:
<p><br></p><p><br></p><p><br></p><p>gfdsgfdsgfds</p><p><br></p><p><br></p><p><br></p><p>gfdsgfdsgfdsgfds</p><p><br></p><p><br></p><p><br></p>
所需的输出:
<p>gfdsgfdsgfds</p><p><br></p><p>gfdsgfdsgfdsgfds</p>
所需的替代输出:
<p>gfdsgfdsgfds</p><p><br></p><p><br></p><p><br></p><p>gfdsgfdsgfdsgfds</p>
我尝试使用: preg_replace
$string = preg_replace('/(<p><br></p>)+/', '', $string);
但是结果为空。
您需要在正则表达式中转义斜杠/
字符:
$string = preg_replace('/(<p><br><\/p>)+/', '', $string);
还要注意,这将删除所有多个出现这些模式的实例,结果如下:
<p>gfdsgfdsgfds</p><p>gfdsgfdsgfdsgfds</p>
要删除重复项但保留一个实例,可以执行以下操作:
$string = preg_replace('/(<p><br><\/p>)+/', '<p><br></p>', $string);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句