Wie man Code in htmlpurifier zulässt

Ich bin gerade dabei, ein Kommentarfeld zu erstellen, in dem Leute ihre Fragen stellen können.

Viele Leute fragen mich, wie sie etwas tun sollen, bei dem Code in das Formular eingegeben wird.

Das Formular durchläuft htmlpurifier, um sicherzustellen, dass es sicher verwendet werden kann.

Aber wenn jemand Echo-Codes usw. eingibt, wird dies nicht zugelassen. Oder wenn jemand ein div eingibt, lässt es das auch nicht zu, selbst wenn man den <code> einwickelt.

Zum Beispiel das:

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

füge einfach ein div hinzu.

und

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

Zeigt den Code überhaupt nicht an.

So habe ich den HTML-Purifier eingerichtet:

$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);

Anschließend wird der $ ticketpost mit PDO-vorbereiteten Anweisungen in die Datenbank eingefügt.

Gibt es etwas, das ich nicht oder falsch mache?

Wenn ja, könnten Sie mir bitte helfen.

Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage