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

前端之家收集整理的这篇文章主要介绍了删除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;
?>

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

原文链接:https://www.f2er.com/php/24750.html

猜你在找的PHP相关文章