您当前的位置: 首页 > 网站编程 > PHP教程 > 浅析php插件 HTMLPurifier HTML解析器

浅析php插件 HTMLPurifier HTML解析器

作者:不详 来源:网络 发布时间: 2014-08-14 21:48 点击:
本篇文章是对php插件 HTMLPurifier HTML解析器进行了详细的分析介绍,需要的朋友参考下 HTMLPurifier插件的使用 下载HTMLPurifier插件 HTMLPurifier插件有用的部分是 library 使用HTMLPurifier library类库 第一种方式 复制代码 代码如下: ?php require_once 'HTMLPuri

浅析php插件 HTMLPurifier HTML解析器

  本篇文章是对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

  http://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);
分享到:
本文"浅析php插件 HTMLPurifier HTML解析器"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4