十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家分享的是有關(guān)php將html轉(zhuǎn)文本的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
php將html轉(zhuǎn)文本的方法:首先創(chuàng)建一個(gè)PHP示例文件;然后創(chuàng)建一個(gè)“HtmlToText”方法;接著使用“preg_replace”等方法將HTML轉(zhuǎn)為TXT文本即可。
PHP將HTML轉(zhuǎn)為TXT文本
需要將HTML轉(zhuǎn)換為TXT文本的內(nèi)容。
于是翻了翻W3C的PHP手冊(cè),因?yàn)閷?duì)PHP的函數(shù)庫不太熟悉,只找到htmlspecialchar(不對(duì)轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)換)函數(shù)和nl2br(將字符串轉(zhuǎn)換成HTML的標(biāo)簽)函數(shù)。這顯然不是我現(xiàn)在想要的,于是我在自己平時(shí)積累下來的PHP函數(shù)庫中,使用中文進(jìn)行了一翻搜索,終于發(fā)現(xiàn)了一個(gè)函數(shù)——strip_tags(功能:從字符串中去除HTML和PHP標(biāo)記)
后來我從網(wǎng)上看到了一個(gè)使用PHP寫的方法,使用這個(gè)方法也可以實(shí)現(xiàn)將HTML轉(zhuǎn)為TXT文本,個(gè)人覺得也還蠻實(shí)用的,在這里分享一下,代碼如下:
function HtmlToText($str){ $str=preg_replace("/| |/isU","",$str);//去除CSS樣式、JS腳本、HTML注釋 $alltext="";//用于保存TXT文本的變量 $start=1;//用于檢測<左、>右標(biāo)簽的控制開關(guān) for($i=0;$i ")){//如果檢測到>右標(biāo)簽,則使用$start=1;開啟截取功能 $start=1; }else if($start==1){//截取功能 if($str[$i]=="<"){//如果字符是<左標(biāo)簽,則使用|替換 $start=0; $alltext.="|"; }else if(ord($str[$i])>31){//如果字符是ASCII大于31的有效字符,則將字符添加到$alltext變量中 $alltext.=$str[$i]; } } } //下方是去除空格和一些特殊字符的操作 $alltext = str_replace(" "," ",$alltext); $alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext); $alltext = preg_replace("/[ ]+/s"," ",$alltext); return $alltext; }
使用上面這個(gè)方法也可以實(shí)現(xiàn)將簡答的HTML代碼轉(zhuǎn)換為TXT文本。
最后說一下htmlspecialchars、nl2br這兩個(gè)與HTML相關(guān)的PHP函數(shù):
htmlspecialchars(不對(duì)轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)換):
實(shí)例:echo htmlspecialchars("baidu");//<a href="#">baidu</a>
nl2br(將字符串轉(zhuǎn)換成HTML的標(biāo)簽):
實(shí)例:echo nl2br("PHP");//PHP
感謝各位的閱讀!關(guān)于php將html轉(zhuǎn)文本的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!