展会信息港展会大全

浅析php插件 HTMLPurifier HTML解析器
来源:互联网   发布日期:2016-03-02 15:25:35   浏览:2196次  

导读:本篇文章是对php插件 HTMLPurifier HTML解析器进行了详细的分析介绍,需要的朋友参考下HTMLPurifier插件的使用下载HTMLPurifier插件HTMLPurif...

本篇文章是对php插件 HTMLPurifier HTML解析器进行了详细的分析介绍,需要的朋友参考下

HTMLPurifier插件的使用

下载HTMLPurifier插件

HTMLPurifier插件有用的部分是 library

使用HTMLPurifier library类库第一种方式

复制代码 代码如下:

<?php

require_once 'HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();

?>

或者

复制代码 代码如下:

<?php

require_once 'HTMLPurifier.includes.php';

require_once 'HTMLPurifier.autoload.php';

$config = HTMLPurifier_Config::createDefault();

?>

官网给出的例子是

复制代码 代码如下:

require_once 'HTMLPurifier.auto.php';

我同事常用的是

复制代码 代码如下:

require_once 'HTMLPurifier.includes.php';

require_once 'HTMLPurifier.autoload.php';

设置$configconfigdochttp://htmlpurifier.org/live/configdoc/plain.html例子

复制代码 代码如下:

$config->set('HTML.AllowedElements', array('div'=>true, 'table'=>true, 'tr'=>true, 'td'=>true, 'br'=>true));

$config->set('HTML.Doctype', 'XHTML 1.0 Transitional')//html文档类型(常设)

$config->set('Core.Encoding', 'UTF-8')//字符编码(常设)

HTML允许的元素div元素,table元素,tr元素,td元素,br元素

new HTMLPurifier对象

复制代码 代码如下:

$purifier = new HTMLPurifier($config);

调用HTMLPurifier对象的purify方法

复制代码 代码如下:

$puri_html = $purifier->purify($html);

第二种方式自定义一个类 HtmlPurifier.php

复制代码 代码如下:

<?php

require_once 'HTMLPurifier.includes.php';

require_once 'HTMLPurifier.autoload.php';

class Resume_HtmlPurifier implements Zend_Filter_Interface{

protected $_htmlPurifier = null;

public function __construct($options = null)

{

$config = HTMLPurifier_Config::createDefault();

$config->set('Code.Encoding', 'UTF-8');

$config->set('HTML.Doctype', 'XHTML 1.0 Transitional')

if(!is_null($options)){

foreach($options as $option){

$config->set($option[0], $option[1], $option[2]);

}

}

$this->_htmlPurifier = new HTMLPurifier($config);

}

public function filter($value)

{

return $this->_htmlPurifier->purify($value);

}

}

?>

设置config信息例如:

复制代码 代码如下:

$conf = array(

array('HTML.AllowedElements',

array(

'div' => true,

'table' => true,

'tr' => true,

'td' => true,

'br' => true,

),

false), //允许属性 div table tr td br元素

array('HTML.AllowedAttributes', array('class' => TRUE), false),//允许属性 class

array('Attr.ForbiddenClasses', array('resume_p' => TRUE), false), //禁止classes如

array('AutoFormat.RemoveEmpty', true, false),//去空格

array('AutoFormat.RemoveEmpty.RemoveNbsp', true, false),//去nbsp

array('URI.Disable', true, false),

);

调用

复制代码 代码如下:

$p = new Resume_HtmlPurifier($conf);

$puri_html = $p->filter($html);

赞助本站

人工智能实验室

相关热词: 开发 编程 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港