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