我是在创造一个评论框,人们可以提出他们的问题的中间。
我得到了很多的人问他们是怎么做到的东西,涉及代码输入到窗体。
该表格经过htmlpurifier,以确保其安全使用。
但是,当曾经有人输入回波码等它不允许它。 或者,如果有人输入一个div那么它不会在<code>包装时允许,要么,就算。
比如这个:
<code><div class="classname"></div></code>
将只需添加一个div。
和
<code><?php echo $word; ?></code>
不会显示的代码在所有。
我已经设置了htmlpurifier的方法是:
$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);
然后$ ticketpost使用PDO预处理语句插入到数据库中。
有什么事我没有做,或者做错了什么?
如果是,请您能有所帮助。
谢谢