php htmlpurifier,htmlpurifierPHP过滤库

htmlpurifierPHP过滤库

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);

……

申明:php中文网下载站匠心打造专业的IT资源下载站!一切资源免费,来源网络收集,请自行检测软件的完整性。交流QQ群:916808767

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值