浅析php插件 HTMLPurifier HTML解析器
发布时间:2020-12-13 06:29:18 所属栏目:PHP教程 来源:网络整理
导读:HTMLPurifier插件的使用 下载HTMLPurifier插件 HTMLPurifier插件有用的部分是 library 使用HTMLPurifier library类库 代码如下: require_once 'HTMLPurifier.auto.php'; $config = HTMLPurifier_Config::createDefault(); ?> 或者 代码如下: require_once 'H
HTMLPurifier插件的使用 使用HTMLPurifier library类库 代码如下: require_once 'HTMLPurifier.auto.php'; $config = HTMLPurifier_Config::createDefault(); ?> 或者 代码如下: 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 代码如下: 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),//禁止classes如 array('AutoFormat.RemoveEmpty',true,//去空格 array('AutoFormat.RemoveEmpty.RemoveNbsp',//去nbsp array('URI.Disable', ); 调用 代码如下: $p = new Resume_HtmlPurifier($conf); $puri_html = $p->filter($html); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |