是否可以让htmlpurifier使用html5 doctype?
文档here声明您可以使用以下内容更改doctype和encoding:
<?php
require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('Core', 'Encoding', 'ISO-8859-1'); // replace with your encoding
$config->set('HTML', 'Doctype', 'HTML 4.01 Transitional'); // replace with your doctype
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);
?>
但是在安装说明中,here声明支持的doctypes是:
256 Other supported doctypes include:
257
258 * HTML 4.01 Strict
259 * HTML 4.01 Transitional
260 * XHTML 1.0 Strict
261 * XHTML 1.0 Transitional
262 * XHTML 1.1
是否可以执行以下操作以允许html5 doctype?
<?php
require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('Core', 'Encoding', 'UTF-8'); // replace with your encoding
$config->set('HTML', 'Doctype', 'html5'); // replace with your doctype
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);
?>
还是有另一种方式?
不,HTML Purifier目前不支持HTML 5。
这仍然是真的吗? This page似乎暗示这些信息已经过时了......
至于2017年秋天似乎仍然没有官方支持。
...但你可以在这里查看HTML5的某种解决方法:https://github.com/kennberg/php-htmlpurfier-html5
我认为它还不支持Html5。如果你确实需要的话,可以向他们推荐它或者为它创建一个补丁。
http://htmlpurifier.org/docs/enduser-customize.html
它仍然不支持HTML5 DOCTYPE,但您可以使用上面的指南指定要添加的标签。
这是一个重新设计的html净化器的HTML5版本 - 在搜索html5实现/使用htmlPurify时找到了这个:https://github.com/xemlock/htmlpurifier-html5