gpt4 book ai didi

htmlpurifier - 如何在HTML Purifier过滤中允许使用内联样式标签

转载 作者:行者123 更新时间:2023-12-02 04:05:43 26 4
gpt4 key购买 nike

HTMLPurifier删除样式标签时遇到问题。这是我使用的(测试)配置:

$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
$config->set('HTML.Doctype', 'HTML 4.01 Transitional'); // replace with your doctype
$config->set('Cache.DefinitionImpl', null);
$config->set('HTML.AllowedElements','div');
$config->set('HTML.AllowedAttributes', "*.style");
$config->set('CSS.AllowedProperties', 'background-color');

当我过滤此HTML时:
<div style="background-color: #fff;">test</div>
<div style="border: 1px solid #000;">test</div>

这是我得到的:
<div>test</div>
<div style="border:;">test</div>

我不明白为什么要保留border属性(但是它的值被剥夺了),以及为什么background-color属性被删除了。如何进行配置,以允许这些样式标签通过过滤器?另外,我想允许我允许的样式属性的任何样式值。

最佳答案

尝试这个:

$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
$config->set('HTML.Doctype', 'HTML 4.01 Transitional');
$config->set('CSS.Trusted', 'HTML 4.01 Transitional'); // allow any css
$config->set('HTML.Allowed','div[style]');
$config->set('CSS.AllowedProperties', 'background-color');

这对我有用!

关于htmlpurifier - 如何在HTML Purifier过滤中允许使用内联样式标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7813501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com