/","",$html);」方法去掉html註解即可。"/> /","",$html);」方法去掉html註解即可。">

首頁 >後端開發 >PHP問題 >php怎麼去掉html註釋

php怎麼去掉html註釋

藏色散人
藏色散人原創
2021-09-24 10:44:011828瀏覽

php去掉html註解的方法:1、開啟對應PHP程式碼檔案;2、檢視html註解的格式;3、透過「preg_replace("/<!--[^\!\[]*?(?<!\/\/)-->/","",$html); 」方法去掉html註解即可。

php怎麼去掉html註釋

本文操作環境:windows7系統、PHP7.1版、Dell G3電腦。

php怎麼去掉html註解?

PHP過濾html註解

過濾html註解:

所謂過濾,不過是字串的匹配與替換,這裡我們用到的正規匹配替換函數preg_replace(reg,replace,string);,PHPer都清楚,這個函數的關鍵在於reg的精確度,那麼我們就來試試看吧:

首先要知道html註解的格式,是這樣的:9ab12f6ee2ec0d2279a865af0fc36fdc。

開始正規的書寫

$html = "<!--something-->something";
$html = preg_replace("/<!--.*-->/","",$html);
echo $html;

上面的程式碼會輸出something,似乎成功了呢,不急,多測試幾個例子

$html = "<!--something-->something<!--something-->";
$html = preg_replace("/<!--.*-->/","",$html);
echo $html;

這個例子告訴我們,這樣寫並不能達到我們期望的效果,於是正規優化成了這樣

preg_replace("/<!--.*?-->/","",$html);

嗯,這下滿意了,但是html中會存在這樣的代碼6fc79538f41ba7309e847292db36ab30 something1b771f47d72d900ba74308aee59557f0,這是瀏覽器相容程式碼,顯然是不能被過濾的,所以我們的正規繼續優化,變成這樣

preg_replace("/<!--[^\!\[]*?-->/","",$html);

又接著如果html中有27835793f4768f4164d1421d99e293bc6e34a6a16d2443ca2ce16ff66eb45b432cacc6d41bbb37262a98f745aa00fbf0的程式碼,我們又需要改一下我們的配對規則了,改成了這樣

preg_replace("/<!--[^\!\[]*?(?<!\/\/)-->/","",$html);

這樣的話我基本上就去掉了我需要去掉的html的註解了!

 

意外收穫:在最佳化過程中,沒有多多行註釋進行考慮,但規則意外的正常匹配了多行註釋,不知道是否因為是從檔案讀取的html!

 

經測試尚未發現有將正文過濾掉的情況,如有疑問,歡迎留言指正。

推薦學習:《PHP影片教學

以上是php怎麼去掉html註釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn