首页 > 开发 > PHP > 正文

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

2024-05-04 22:29:15
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表