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


Posted in PHP onApril 28, 2014

方法基本上来自THinkphp中的源码,但是被我修改了一下

<?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, 0, $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; 
?>

修改部分也在上面,只是注释掉了。个人觉得这个方法比用正则这类的方法更好。
PHP 相关文章推荐
缓存技术详谈―php
Dec 14 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
php 文本文件的读取效率
Feb 10 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
PHP+MYSQL实现用户的增删改查
Mar 24 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
YII框架批量插入数据的方法
Mar 18 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
php通过ajax实现双击table修改内容
Apr 28 #PHP
php利用curl抓取新浪微博内容示例
Apr 27 #PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 #PHP
php检测文件编码的方法示例
Apr 25 #PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
Apr 25 #PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 #PHP
php除数取整示例
Apr 24 #PHP
You might like
网友原创的PHP模板类代码
2008/09/07 PHP
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
python实现Excel文件转换为TXT文件
2019/04/28 Python
Python和Sublime整合过程图示
2019/12/25 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
我爱我的祖国演讲稿
2014/05/04 职场文书
社区助残日活动总结
2014/08/29 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
男生贾里读书笔记
2015/06/30 职场文书
聘用合同范本
2015/09/21 职场文书
Golang全局变量加锁的问题解决
2021/05/08 Golang
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技