当前位置: 首页 > 编程笔记 >

Yii净化器CHtmlPurifier用法示例(过滤不良代码)

傅泉
2023-03-14
本文向大家介绍Yii净化器CHtmlPurifier用法示例(过滤不良代码),包括了Yii净化器CHtmlPurifier用法示例(过滤不良代码)的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Yii净化器CHtmlPurifier用法。分享给大家供大家参考,具体如下:

1. 在控制器中使用:

public function actionCreate()
{
  $model=new News;
  $purifier = new CHtmlPurifier();
  $purifier->options = array(
    'URI.AllowedSchemes'=>array(
              'http' => true,
              'https' => true,
    ),
       'HTML.Allowed'=>'div',
  );
  if(isset($_POST['News']))
  {
    $model->attributes=$_POST['News'];
    $model->attributes['content'] = $purifier->purify($model->attributes['content']);
    if($model->save())
      $this->redirect(array('view','id'=>$model->id));
  }
}

2. 在模型中的使用:

protected function beforeSave()
{
  $purifier = new CHtmlPurifier();
  $purifier->options = array(
    'URI.AllowedSchemes'=>array(
              'http' => true,
              'https' => true,
    ),
       'HTML.Allowed'=>'div',
  );
  if(parent::beforeSave()){
    if($this->isNewRecord){
      $this->create_data = date('y-m-d H:m:s');
      $this->content = $purifier->purify($this->content);
    }
    return true;
  }else{
    return false;
  }
}

3. 在过滤器中的使用:

public function filters()
{
  return array(
    'accessControl', // perform access control for CRUD operations
    'postOnly + delete', // we only allow deletion via POST request
    'purifier + create', //载入插入页面时进行些过滤操作
  );
}
public function filterPurifier($filterChain){
  $purifier = new CHtmlPurifier();
  $purifier->options = array(
    'URI.AllowedSchemes'=>array(
              'http' => true,
              'https' => true,
    ),
       'HTML.Allowed'=>'div',
  );
  if(isset($_POST['news']){
    $_POST['news']['content'] = $purify($_POST['news']['content']);
  }
    $filterChain->run();
}

4. 在视图中的使用:

<?php $this->beginWidget('CHtmlPurifier'); ?>
...display user-entered content here...
<?php $this->endWidget(); ?>

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍AngularJS过滤器详解及示例代码,包括了AngularJS过滤器详解及示例代码的使用技巧和注意事项,需要的朋友参考一下 过滤器是用来更改修改数据,并且可以在表达式或使用管道符指令将其归入。以下是常用的过滤器的列表。 S.No. 名称 描述 1 大写 转换文本为大写文本。 2 小写 转换文本为小写文本。 3 货币 货币格式格式文本。 4 过滤器 过滤数组中它根据所提供的标准的一个

  • 本文向大家介绍jQuery中过滤器的基本用法示例,包括了jQuery中过滤器的基本用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery中过滤器的基本用法。分享给大家供大家参考,具体如下: HTML正文: Javascript操作代码: 效果: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery表格(table)操作技巧汇总》、《jQuery表单操作总结》

  • 我刚刚开始使用超文本标记语言净化器http://htmlpurifier.org来过滤来自所见即所得编辑器的内容。内容将被显示回给用户或同一组中的其他用户。系统上还有其他组,数据完整性非常重要。 我使用PHP,内容存储在MySQL数据库中。 HTML净化器使用了大量的处理器功能,所以我只想在入站内容上使用它,而不使用任何过滤器直接从数据库显示出站内容。听起来很简单,它被过滤了,所以应该是安全的,但

  • 本文向大家介绍AngularJS 简单过滤器示例,包括了AngularJS 简单过滤器示例的使用技巧和注意事项,需要的朋友参考一下 示例 过滤器格式化表达式的值以显示给用户。它们可以在视图模板,控制器或服务中使用。本示例创建一个过滤器(addZ),然后在视图中使用它。此过滤器所做的全部工作是在字符串的末尾添加大写字母“ Z”。 example.js example.html 在视图内部,过滤器采用

  • 本文向大家介绍AngularJS入门教程之过滤器用法示例,包括了AngularJS入门教程之过滤器用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS过滤器用法。分享给大家供大家参考,具体如下: 在前面几节里我们已经接触过AngularJS的表达式,表达式的作用是向视图中输出字面量或$scope对象中的属性值。在输出之前我们可以通过过滤器来格式化输出的数据。 过滤器的

  • 本文向大家介绍Android RecyclerView添加搜索过滤器的示例代码,包括了Android RecyclerView添加搜索过滤器的示例代码的使用技巧和注意事项,需要的朋友参考一下 搜索过滤功能,相信大家都能用到,一般都是针对列表进行过滤的。下面给大家提供一种过滤列表的方法。 老规矩,先上图 RecycleView搜索过滤器-getFilter() Android 提供了Filetera