Yii净化器CHtmlPurifier用法示例(过滤不良代码)
本文实例讲述了Yii净化器CHtmlPurifier用法。分享给大家供大家参考,具体如下:
1.在控制器中使用:
publicfunctionactionCreate()
{
$model=newNews;
$purifier=newCHtmlPurifier();
$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.在模型中的使用:
protectedfunctionbeforeSave()
{
$purifier=newCHtmlPurifier();
$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-dH:m:s');
$this->content=$purifier->purify($this->content);
}
returntrue;
}else{
returnfalse;
}
}
3.在过滤器中的使用:
publicfunctionfilters()
{
returnarray(
'accessControl',//performaccesscontrolforCRUDoperations
'postOnly+delete',//weonlyallowdeletionviaPOSTrequest
'purifier+create',//载入插入页面时进行些过滤操作
);
}
publicfunctionfilterPurifier($filterChain){
$purifier=newCHtmlPurifier();
$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');?>
...displayuser-enteredcontenthere...
<?php$this->endWidget();?>
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语