删除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 IP及IP段进行访问限制的代码
Dec 17 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
基于PHP异步执行的常用方式详解
Jun 03 PHP
php根据身份证号码计算年龄的实例代码
Jan 18 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
session 加入redis的实现代码
Jul 15 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
php生成HTML文件的类方法
Oct 11 PHP
Laravel定时任务的每秒执行代码
Oct 22 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 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程序时遇到的三个问题
2012/01/17 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
PHP实现的json类实例
2015/07/28 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
浅析node.js中close事件
2014/11/26 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
python人民币小写转大写辅助工具
2018/06/20 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
AJax面试题
2014/11/25 面试题
专业实习自我鉴定
2013/10/29 职场文书
女子职高个人自荐书
2014/02/01 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
博士生求职信
2014/07/06 职场文书
保密工作承诺书
2014/08/29 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
Android 中的类文件和类加载器详情
2022/06/05 Java/Android