您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在php中利用正則表達式去掉html中的注釋,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
首先比較基礎的是:
$a = '<!--ceshi-->ceshi'; $a = preg_replace('#<!--.*-->#' , '' , $a); var_dump($a);
上面的代碼會輸出ceshi。
但是如果是下面的字符串的話,就不能達到我們希望的效果了
$a = '<!--ceshi-->ceshi<!--ceshi-->'; $a = preg_replace('#<!--.*-->#' , '' , $a); var_dump($a);
于是我們就把匹配規則改成如下的格式
preg_replace('#<!--.*?-->#' , '' , $a);
但是在html中如果有<!--[if lt IE 9]>ceshi<![endif]-->這樣的代碼的話是不能去掉的,所以我們需要改進匹配規則,改成以下的格式
preg_replace('#<!--[^\!\[]*?-->#' , '' , $a);
又接著如果html中有<script><!--ceshi//--></script>的代碼,我們又需要改一下我們的匹配規則了,改成了以下格式
preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#' , '' , $a);
看完上述內容,你們對怎么在php中利用正則表達式去掉html中的注釋有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。