[英]Remove redundant tags '<p><br></p>' in php?
在字符串的開頭和結尾處刪除冗余標簽<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);
凈化器http://htmlpurifier.org/可以為您提供幫助。 它可以清理html代碼,並根據需要刪除javascript。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.