php使用正則表達(dá)式去掉html中的注釋方法
最近在項(xiàng)目中在需要輸出瀏覽器中的源文件需要去掉html中的注釋,在網(wǎng)上看了很多的方案,不過(guò)很多的答案都是一樣的,并不能解決我的問(wèn)題,于是就自己寫(xiě)正則表達(dá)式,也對(duì)正則有了更加深刻的理解。
首先比較基礎(chǔ)的是:
$a = '<!--ceshi-->ceshi';
$a = preg_replace('#<!--.*-->#' , '' , $a);
var_dump($a);
上面的代碼會(huì)輸出ceshi。
但是如果是下面的字符串的話,就不能達(dá)到我們希望的效果了
$a = '<!--ceshi-->ceshi<!--ceshi-->';
$a = preg_replace('#<!--.*-->#' , '' , $a);
var_dump($a);
于是我們就把匹配規(guī)則改成如下的格式
preg_replace('#<!--.*?-->#' , '' , $a);
但是在html中如果有<!--[if lt IE 9]>ceshi<![endif]-->這樣的代碼的話是不能去掉的,所以我們需要改進(jìn)匹配規(guī)則,改成以下的格式
preg_replace('#<!--[^\!\[]*?-->#' , '' , $a);
又接著如果html中有<script><!--ceshi//--></script>的代碼,我們又需要改一下我們的匹配規(guī)則了,改成了以下格式
preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#' , '' , $a);
這樣的話我基本上就去掉了我需要去掉的html的注釋了!
以上就是小編為大家?guī)?lái)的php使用正則表達(dá)式去掉html中的注釋方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
tp5實(shí)現(xiàn)微信小程序多圖片上傳到服務(wù)器功能
這最近在做一個(gè)教育類(lèi)的小商城的微信小程序,用到了上傳多個(gè)圖片文件到服務(wù)器端。下面腳本之家小編給大家?guī)?lái)了tp5實(shí)現(xiàn)微信小程序多圖片上傳到服務(wù)器的方法,需要的朋友可以參考下2018-07-07
PHP配置把錯(cuò)誤日志以郵件方式發(fā)送方法(Windows系統(tǒng))
這篇文章主要介紹了PHP配置把錯(cuò)誤日志以郵件方式發(fā)送方法(Windows系統(tǒng)),本文給出了配置示例和使用例子,需要的朋友可以參考下2015-06-06
PHP中將網(wǎng)頁(yè)導(dǎo)出為Word文檔的代碼
今天要探討的是PHP網(wǎng)頁(yè)導(dǎo)出Word文檔的方法,使用其他語(yǔ)言的朋友也可以參考,因?yàn)樵硎遣畈欢嗟?/div> 2012-05-05
php時(shí)間戳格式化顯示友好的時(shí)間函數(shù)分享
在一些微博系統(tǒng)中經(jīng)常要將時(shí)間于現(xiàn)在時(shí)間相比顯示為多久以前發(fā)布的,如顯示為:剛剛、5秒前、5小時(shí)前、5天前..這種顯示非常的友好,那么我們?cè)趺从胮hp來(lái)實(shí)現(xiàn)呢,這就是本文探討的內(nèi)容,各位看官請(qǐng)仔細(xì)閱讀下文2014-10-10
php AJAX實(shí)例根據(jù)郵編自動(dòng)完成地址信息
當(dāng)客戶輸入一個(gè)POSTCODE后,zipcode.PHP就接收到它,然后進(jìn)行從數(shù)據(jù)表中取出對(duì)應(yīng)的資料,再按一定的格式返回給客戶端(此處是以 | 分隔)。最后客戶端接收返回的資料,顯示在頁(yè)面上。2008-11-11最新評(píng)論

