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

yipeiwu_com6年前PHP代码库

核心代码:

<?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自定义时间转换函数。分享给大家供大家参考,具体如下: 我们可以把经常用到的函数封装起来,在抽象类中,然后继承来使用。 /** * 时间转时间戳 * @param...

php中钩子(hook)的原理与简单应用demo示例

本文实例讲述了php中钩子(hook)的原理与简单应用。分享给大家供大家参考,具体如下: 我们先来回顾下原本的开发流程;   产品汪搞出了一堆需求;   当用户注册成功后需要发送短信、发...

PHP对象Object的概念 介绍

例如,员工管理应用程序可能包括一个EmPloyee 类。然后可以用这个类来创建和维护特定实例,比如Gonn和Sally。 根据预定义的类创建对象常称为类的实例化(class instan...

php通过分类列表产生分类树数组的方法

本文实例讲述了php通过分类列表产生分类树数组的方法。分享给大家供大家参考。具体分析如下: 这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID ph...

PHP面向对象程序设计之类与反射API详解

本文实例讲述了PHP面向对象程序设计之类与反射API。分享给大家供大家参考,具体如下: 了解类 class_exists验证类是否存在 <?php // TaskRun...