当前位置: 首页  >  下载站  >  类库  >  其它类库  >  htmlpurifierPHP过滤库

htmlpurifierPHP过滤库

htmlpurifierPHP过滤库

htmlpurifierPHP过滤库
分类:   类库下载 / 其它类库 发布时间:  2017-12-19 访问量:  4474
下载量:  86
点击下载
更多>

最新下载

50个优秀经典PHP算法大集合

经典PHP算法,学习优秀的思想 , 开拓思维
2225 2020-03-26

PHPExcel-1.8类库(值得收藏!)

PHPExcel 操作Office Excel 文档的PHP类库
11447 2018-09-26

依赖注入容器的PHP库

依赖注入容器的PHP库
374 2018-01-26

小巧的优化图片的PHP库

小巧的优化图片的PHP库
578 2018-01-26

提取GIF动画帧信息的PHP库

提取GIF动画帧信息的PHP库
259 2018-01-26

面向对象流包装PHP库

面向对象流包装PHP库
244 2018-01-26

远程文件下载php类库

远程文件下载php类库
656 2018-01-25

两表合并成一张新表的php类库

两表合并成一张新表的php类库
381 2018-01-25

静态文件生成的php类库

静态文件生成的php类库
363 2018-01-25

php小型日历类库

php小型日历类库
526 2018-01-25
下载首页 / 类库下载 / 其它类库

require_once '/path/to/HTMLPurifier.auto.php';

根据ThinkPHP的规范,对于第三方扩展,不符合ThinkPHP开发规范的,需要将HTMLPurifier放入到Library/Vendor目录中。然后我们可以在方法中通过下面方法将HTMLPurifier.auto.php引入到框架程序中:

vendor('htmlpurifier.library.HTMLPurifier#auto');

不过这里我使用的ThinkPHP 3.2.1,发现这种方法只能使用在函数中,对于控制器类中这样引入是无法正确识别的。也就是说,我们只能在common/function.php文件中引用。

创建HTMLPurifier对象并实现对富文本的过滤

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);

如何对HTMLPurifer的过滤器进行配置

要使用HTMLPurifier,重点还是在如何进行配置。对于上面的程序,我们通过createDefault()方法创建了一个默认的配置对象。我们如果要修改配置的话,可以通过set方法来进行配置设置,方法如下:

$config->set('config_object', value, a=null);

第一个参数就是需要配置的属性,第二个参数就是属性的值,第三个参数具体是做什么用的我也还没有搞明白,不过一般都没有用过,等有时间了再慢慢儿来研究研究。

HTMLPurifier的配置属性可以通过其网站查询到

配置属性选择

HTMLPurifier的配置文档主要是两级分类,大类分Attr(属性)、HTML(html标签)、AutoFormat(自动格式)、CSS(css配置)、Output(输出配置)……小类选择通过大类名称加.加小类名称可以完成。

比如我要配置允许的html标签,比如说p标签和a标签,可以如下配置

$config->set('HTML.Allowed', 'p,a');

属性值的选择

在官方文档中,点击一个属性后,可以看到对这个属性的解释,会告诉你这个属性的值的类型(Type)是String、Int、Array、Boolen……

接着还会告诉你这个属性的默认值,比如是NULL还是true还是false等。这个值的格式就跟PHP的格式一样的。

白名单过滤机制

HTMLPurifier使用了白名单过滤机制,只有被设置允许的才会通过检验。

基本过滤事例

a、过滤掉文本中的所有html标签

/**
 * 过滤掉所有html标签很简单,原因则在白名单机制完成
 */
$config->set('HTML.Allowed', '');

b、保留超链接标签a及其href链接地址属性,并自动添加target属性值为’_blank’

$config->set('HTML.Allowed', 'a[href]');
$config->set('HTML.TargetBlank', true);

c、自动完成段落代码并清除掉无用的空标签

// 让文本自动添加段落标签,前提是必须允许P标签的使用
$config->set('HTML.Allowed', 'p');
$config->set('AutoFormat.AutoParagraph', true);
// 清除空标签
$config->set('AutoFormat.RemoveEmpty', true);
……


本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:admin@php.cn

相关推荐

htmlpurifierPHP过滤库

htmlpurifierPHP过滤库
其它类库
2017-12-19

filterus-masterPHP过滤库

filterus-masterPHP过滤库
其它类库
2017-12-21

php参数过滤、数据过滤类

php参数过滤、数据过滤类
数据验证类库
2017-03-17

php的参数过滤、数据过滤类

php的参数过滤、数据过滤类
其它类库
2017-12-27

dms-filter的php过滤库

dms-filter的php过滤库
其它类库
2017-12-22

简单的PHP过滤库

简单的PHP过滤库
其它类库
2017-12-14

基于标注的PHP过滤库

基于标注的PHP过滤库
其它类库
2017-12-14

热门下载

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号