簡體   English   中英

刪除多余的標簽 <p><br></p> 在php中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM