加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-12 20:09:49 所属栏目:PHP教程 来源:网络整理
导读:方法基本上来自THinkphp中的源码,但是被我修改了一下 div class="codetitle" a style="CURSOR: pointer" data="17277" class="copybut" id="copybut17277" onclick="doCopy('code17277')" 代码如下: div class="codebody" id="code17277" ?php / @Descripti

方法基本上来自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;
?>

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读