PHP将HTML转换成文本的实现代码


Posted in PHP onJanuary 21, 2015

核心代码:

<?php
// $document 应包含一个 HTML 文档。
// 本例将去掉 HTML 标记,javascript 代码
// 和空白字符。还会将一些通用的
// HTML 实体转换成相应的文本。

$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
         "'<[\/\!]*?[^<>]*?>'si",      // 去掉 HTML 标记
         "'([\r\n])[\s]+'",         // 去掉空白字符
         "'&(quot|#34);'i",         // 替换 HTML 实体
         "'&(amp|#38);'i",
         "'&(lt|#60);'i",
         "'&(gt|#62);'i",
         "'&(nbsp|#160);'i",
         "'&(iexcl|#161);'i",
         "'&(cent|#162);'i",
         "'&(pound|#163);'i",
         "'&(copy|#169);'i",
         "'&#(\d+);'e");          // 作为 PHP 代码运行

$replace = array ("",
         "",
         "\\1",
         "\"",
         "&",
         "<",
         ">",
         " ",
         chr(161),
         chr(162),
         chr(163),
         chr(169),
         "chr(\\1)");

$text = preg_replace ($search, $replace, $document);
?>
PHP 相关文章推荐
PHP配置文件中最常用四个ini函数
Mar 19 PHP
PHP Socket 编程
Apr 09 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
php 获取页面中指定内容的实现类
Jan 23 PHP
php实现事件监听与触发的方法
Nov 21 PHP
php使用CURL伪造IP和来源实例详解
Jan 15 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
php使用Cookie控制访问授权的方法
Jan 21 #PHP
PHP+MySQL修改记录的方法
Jan 21 #PHP
PHP+MySQL删除操作实例
Jan 21 #PHP
PHP+MySQL插入操作实例
Jan 21 #PHP
php+mysql数据库查询实例
Jan 21 #PHP
php使用Cookie实现和用户会话的方法
Jan 21 #PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 #PHP
You might like
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
Python中encode()方法的使用简介
2015/05/18 Python
简单实现Python爬取网络图片
2018/04/01 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
2020/04/14 Python
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
几个人围成一圈的问题
2013/09/26 面试题
弘扬民族精神演讲稿
2014/05/07 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
英文自荐信范文
2015/03/25 职场文书
民事申诉状范本
2015/05/20 职场文书
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python