Heim  >  Artikel  >  php教程  >  Yii purifier CHtmlPurifier-Nutzungsbeispiel (Filterung fehlerhaften Codes)

Yii purifier CHtmlPurifier-Nutzungsbeispiel (Filterung fehlerhaften Codes)

高洛峰
高洛峰Original
2016-12-30 14:49:291073Durchsuche

Das Beispiel in diesem Artikel beschreibt die Verwendung des Yii-Reinigers CHtmlPurifier. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:

1 Verwendung im Controller:

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. Im Modell Verwendung in Filtern:

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. Verwendung in Filtern:

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. Verwendung in Ansichten:

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

Ich hoffe, dass dieser Artikel für alle auf dem Yii-Framework basierenden PHP-Programmdesigns hilfreich sein wird.

Weitere Artikel zu Yii purifier CHtmlPurifier mit Anwendungsbeispielen (Filtern von fehlerhaftem Code) finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn