删除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;
?>

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...