這篇文章給大家分享的是有關php將html轉文本的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
php將html轉文本的方法:首先創建一個PHP示例文件;然后創建一個“HtmlToText”方法;接著使用“preg_replace”等方法將HTML轉為TXT文本即可。

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