我想在HTML Purifier过滤器中允许图片。不幸的是,他们仍在被过滤。这段代码有什么问题?
$config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
$config->set('URI.DisableExternalResources', false);
$config->set('URI.DisableResources', false);
$config->set('HTML.Allowed', 'u,p,b,i,span[style],p,strong,em,li,ul,ol,div[align],br,img');
感谢您的帮助。
答案 0 :(得分:2)
您需要允许src和alt属性。如果您未能允许元素/
的必需属性,HTML Purifier可能会警告您答案 1 :(得分:2)
将这行代码添加到您的代码中可以解决问题:
$config->set('HTML.AllowedAttributes', 'src, height, width, alt');
答案 2 :(得分:0)
HTML Purifier在http://
之后寻找https://
或src="
,这可能会在发布数据时丢失(内联src =“data:image / png; base64,....)或您的希望这对你有用,因为它对我有用。
答案 3 :(得分:0)
要接受b64图像,您必须添加新的URIScheme:
if(!class_exists("HTMLPurifier_URIScheme_data")){
class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
public $default_port = null;
public $browsable = false;
public $hierarchical = true;
public function validate(&$uri, $config, $context) {
return true;
}
}
}
HTMLPurifier_URISchemeRegistry::instance()->register("data", new HTMLPurifier_URIScheme_data());
来源:http://htmlpurifier.org/phorum/read.php?3,4316,4318,quote=1
" Nick",制作此代码的人说,必须设置:
$browsable = true;
$hierarchical = false;
但在我的情况下,我没有。