删除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下使用SimpleXML 处理XML 文件
Feb 27 PHP
PHP array_multisort() 函数的深入解析
Jun 20 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 PHP
php支持断点续传、分块下载的类
May 02 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 PHP
PHP 实现链式操作
Mar 09 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
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
小程序页面动态配置实现方法
2019/02/05 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
python的faker库用法
2019/11/28 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
J2EE面试题大全
2016/08/06 面试题
条幅标语大全
2014/06/20 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
婚前协议书范本
2014/10/27 职场文书
张思德观后感
2015/06/09 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
Java 在线考试云平台的实现
2021/11/23 Java/Android