您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)php將html轉(zhuǎn)文本的方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
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ù)庫(kù)不太熟悉,只找到htmlspecialchar(不對(duì)轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)換)函數(shù)和nl2br(將字符串轉(zhuǎn)換成HTML的標(biāo)簽)函數(shù)。這顯然不是我現(xiàn)在想要的,于是我在自己平時(shí)積累下來(lái)的PHP函數(shù)庫(kù)中,使用中文進(jìn)行了一翻搜索,終于發(fā)現(xiàn)了一個(gè)函數(shù)——strip_tags(功能:從字符串中去除HTML和PHP標(biāo)記)
<?php $mystr=<<<SATO 此處省略幾十行HTML代碼^_^ SATO; $str=strip_tags($mystr); //到這里就已經(jīng)達(dá)到我的HTML轉(zhuǎn)為TXT文本的目的了,哈哈,使用這個(gè)函數(shù)真方便 //下面是插件的一些切詞等操作,這里就不多說(shuō)了 ?>
后來(lái)我從網(wǎng)上看到了一個(gè)使用PHP寫的方法,使用這個(gè)方法也可以實(shí)現(xiàn)將HTML轉(zhuǎn)為TXT文本,個(gè)人覺(jué)得也還蠻實(shí)用的,在這里分享一下,代碼如下:
function HtmlToText($str){ $str=preg_replace("/<sty(.*)\/style>|<scr(.*)\/script>|<!--(.*)-->/isU","",$str);//去除CSS樣式、JS腳本、HTML注釋 $alltext="";//用于保存TXT文本的變量 $start=1;//用于檢測(cè)<左、>右標(biāo)簽的控制開(kāi)關(guān) for($i=0;$i<strlen($str);$i++){//遍歷經(jīng)過(guò)處理后的字符串中的每一個(gè)字符 if(($start==0)&&($str[$i]==">")){//如果檢測(cè)到>右標(biāo)簽,則使用$start=1;開(kāi)啟截取功能 $start=1; }else if($start==1){//截取功能 if($str[$i]=="<"){//如果字符是<左標(biāo)簽,則使用<font color='red'>|</font>替換 $start=0; $alltext.="<font color='red'>|</font>"; }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)將簡(jiǎn)答的HTML代碼轉(zhuǎn)換為TXT文本。
最后說(shuō)一下htmlspecialchars、nl2br這兩個(gè)與HTML相關(guān)的PHP函數(shù):
htmlspecialchars(不對(duì)轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)換):
實(shí)例:echo htmlspecialchars("<a href=\"#\">baidu</a>");//<a href="#">baidu</a>
nl2br(將字符串轉(zhuǎn)換成HTML的標(biāo)簽):
實(shí)例:echo nl2br("<b>PHP</b>");//PHP
感謝各位的閱讀!關(guān)于php將html轉(zhuǎn)文本的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。