方法基本上来自THinkphp中的源码,但是被我修改了一下
<BR><?php <BR>/* <BR>*@Description:删除HTML标签,得到纯文本。可以处理嵌套的标签 <BR>* <BR>*/ <BR>class deleteHtmlTags{ <br><br>private $filename; <br><br>function __construct($filename='C:/AppServ/www/text.txt'){ <BR>$this->filename = $filename; <BR>} <br><br>/** <BR>* 删除html标签,得到纯文本。可以处理嵌套的标签,局限性在于连标签内的属性值都会删除掉 <BR>* @access public <BR>* @param string $string 要处理的html <BR>* @return string <BR>*/ <BR>public function deletehtmltags(){ <BR>$content = $this->contentGet(); <BR>while(strstr($content, '>')){ <BR>$currentBegin = strpos($content, '<'); <BR>$currentEnd = strpos($content, '>'); <BR>$cha = $currentEnd - $currentBegin - 1; <BR>$tmpStringBegin = @substr($content, 0, $currentBegin); <BR>// $tmpStringMiddle = @ substr($content, $currentBegin + 1, $cha); <BR>$tmpStringEnd = @substr($content, $currentEnd + 1, strlen($content)); <BR>// $content = $tmpStringBegin.$tmpStringMiddle.$tmpStringEnd; <BR>$content = $tmpStringBegin.$tmpStringEnd; <BR>} <BR>return $content; <BR>} <br><br>private function conte<div>本文#来源gaodai.ma#com搞##代!^码7网</div><pre>搞代gaodaima码
ntGet(){
$fd = fopen($this->filename, ‘r’);
$content = fread($fd, filesize($this->filename));
fclose($fd);
return $content;
}
}
$deleteHtml = new deleteHtmlTags();
$content = $deleteHtml->deletehtmltags();
echo $content;
?>
修改部分也在上面,只是注释掉了。个人觉得这个方法比用正则这类的方法更好。