Chtml:: очиститель не работает

Я пытаюсь использовать Chtml::prifier для ссылки на контент, но ссылки не были связаны. Есть ли другие параметры конфигурации, о которых мне нужно позаботиться.

    public function actionTime() {
    $p = new CHtmlPurifier();
    $p->options = array('URI.AllowedSchemes'=>array(
        'http' => true,
        'https' => true,
    ));

    echo $p->purify("http://testsite.com");

    $this->beginWidget('CHtmlPurifier');
    echo "all http://anothersite.com";
    $this->endWidget();
    }

В обоих случаях я получаю текст в том виде, в каком он есть.
yii версия 1.1.14

2 ответа

Попробуйте сделать как этот пример:

echo "Try to input some html tags and see what tag does it filter : ";
echo CHtml::beginForm();
echo CHtml::textArea('user_input');
echo "<br/>";
echo CHtml::submitButton();
echo CHtml::endForm();

echo "<br/><br/>The result: <br/>";
echo $user_input;

echo "<br/><br/>The result in html: <br/>";
echo CHtml::encode($user_input);

XssController.php:

public function actionHtmlPurifier(){
               $user_input = null;
               if (isset($_POST['user_input'])){
                       $user_input = $_POST['user_input'];
               }

               $parser=new CHtmlPurifier(); //create instance of CHtmlPurifier
               $user_input=$parser->purify($user_input); //we purify the $user_input

               $this->render("htmlpurifier", array('user_input'=>$user_input));
       }

Я рекомендовал вам использовать это расширение, я проверял это раньше.

http://www.yiiframework.com/extension/input

Я прошу прощения. Я неправильно понял функционирование очистителя HTML. То, что я хотел, - это то, что может преобразовать example.com в тег "a", и очиститель мыслей сделает это. Вместо этого я буду использовать регулярное выражение, чтобы преобразовать его в тег "а", а затем отобразить его с помощью очистителя.

Другие вопросы по тегам