删除html标签得到纯文本可处理嵌套的标签

方法基本上来自THinkPHP中的源码,但是被我修改了一下
<div class="codetitle"><a style="CURSOR: pointer" data="17277" class="copybut" id="copybut17277" onclick="doCopy('code17277')"> 代码如下:

<div class="codebody" id="code17277">
<?PHP
/
@Description:删除HTML标签,得到纯文本。可以处理嵌套的标签

/
class deleteHtmlTags{ private $filename; function __construct($filename='C:/AppServ/www/text.txt'){
$this->filename = $filename;
} /*
删除html标签,得到纯文本。可以处理嵌套的标签,局限性在于连标签内的属性值都会删除
@access public
@param string $string 要处理的html
@return string
/
public function deletehtmltags(){
$content = $this->contentGet();
while(strstr($content,'>')){
$currentBegin = strpos($content,'<');
$currentEnd = strpos($content,'>');
$cha = $currentEnd - $currentBegin - 1;
$tmpStringBegin = @substr($content,$currentBegin);
// $tmpStringMiddle = @ substr($content,$currentBegin + 1,$cha);
$tmpStringEnd = @substr($content,$currentEnd + 1,strlen($content));
// $content = $tmpStringBegin.$tmpStringMiddle.$tmpStringEnd;
$content = $tmpStringBegin.$tmpStringEnd;
}
return $content;
} private function contentGet(){
$fd = fopen($this->filename,'r');
$content = fread($fd,filesize($this->filename));
fclose($fd);
return $content;
}
} $deleteHtml = new deleteHtmlTags();
$content = $deleteHtml->deletehtmltags();
echo $content;
?>

修改部分也在上面,只是注释掉了。个人觉得这个方法比用正则这类的方法更好。

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...