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