HTMLPurifier вставляет \ перед кавычками

В системе, которую я создаю, я использую CKEditor для написания сообщений. Затем, когда я отправляю его в PHP, я проверяю html, созданный из CKEditor, с помощью HTMLPurifier. Проблема в том, что HTMLPurifier добавляет \ перед ". Например, CKEditor выдает:

<span style="font-size:36px;">

И после HTMLPurifier:

<span style=\"font-size:36px;\">

Я использую PHP 5.2. Почему HTMLPurifier добавляет эти обратные косые черты и что мне нужно сделать, чтобы это исправить?


person nvlbg    schedule 11.03.2012    source источник


Ответы (2)


Дополнительные косые черты добавляет не очиститель HTML, а ваша конфигурация PHP. Отредактируйте php.ini и отключите magic_quotes_gpc.

Связанное руководство предлагает вам добавить следующий параметр в php.ini:

magic_quotes_gpc = Off

Если вы используете Apache и можете использовать файлы .htaccess, создайте их с помощью:

php_flag magic_quotes_gpc Off
person Lekensteyn    schedule 11.03.2012
comment
В этом была проблема. Спасибо, никогда бы не подумал, что из-за этого. - person nvlbg; 11.03.2012

Используйте stripslashes(), чтобы избавиться от них.

$string = '<span style=\"font-size:36px;\">';
echo stripslashes($string); // Output: <span style="font-size:36px;">
person Rick Kuipers    schedule 11.03.2012