本篇文章是对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
;
设置$config
configdoc
例子
复制代码 代码如下:
$config
>set(
HTML
AllowedElements
array(
div
=>true
table
=>true
tr
=>true
td
=>true
br
=>true));
$config
>set(
HTML
Doctype
XHTML
Transitional
) //html文档类型(常设)
$config
>set(
Core
Encoding
UTF
) //字符编码(常设)
HTML允许的元素
div元素table元素tr元素td元素br元素
new HTMLPurifier对象
复制代码 代码如下:
$purifier = new HTMLPurifier($config);
调用HTMLPurifier对象的purify方法
复制代码 代码如下:
$puri_html = $purifier
>purify($html);
第二种方式
自定义一个类 HtmlPurifierphp
复制代码 代码如下:
<?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
);
$config
>set(
HTML
Doctype
XHTML
Transitional
)
if(!is_null($options)){
foreach($options as $option){
$config
>set($option[
]
$option[
]
$option[
]);
}
}
$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);