Jak zezwolić na kod w htmlpurifier

Jestem w trakcie tworzenia pola komentarza, w którym ludzie mogą zadawać pytania.

Wiele osób pyta, jak robią coś, co wymaga wprowadzenia kodu do formularza.

Formularz przechodzi przez htmlpurifier, aby upewnić się, że jest bezpieczny w użyciu.

Ale kiedy ktoś wprowadzi kody echa itp., Nie pozwala na to. Lub jeśli ktoś wprowadzi div, to również na to nie zezwala, nawet podczas zawijania w <code>.

Na przykład:

<code><div class="classname"></div></code>

po prostu doda div.

i

<code><?php echo $word; ?></code>

W ogóle nie pokaże kodu.

Sposób, w jaki to ustawiłem, to htmlpurifier to:

$content    = $_POST['comment'];

$rawf   =  str_replace('<code>', '<pre><code>', $content);
$rawfp  =  str_replace('</code>', '</code></pre>', $rawf);

require_once '../Libs/htmlPurifier/library/HTMLPurifier.auto.php';

$purifierconfig = HTMLPurifier_Config::createDefault();

$purifierconfig->set('HTML.Allowed', 'b,a[href],i,em,br,code,pre');

$purifier   = new HTMLPurifier($purifierconfig);
$clean_html = $purifier->purify($rawfp);
$ticketpost =  str_replace('<a ', '<a rel="nofollow" ', $clean_html);

Następnie $ ticketpost jest wstawiany do bazy danych przy użyciu przygotowanych instrukcji PDO.

Czy jest coś, czego nie robię lub robię źle?

Jeśli tak, proszę, możesz pomóc.

Dzięki

questionAnswers(1)

yourAnswerToTheQuestion