gpt4 book ai didi

css - 带有 borderRadius 的 htmlpurifier

转载 作者:行者123 更新时间:2023-11-28 13:16:04 24 4
gpt4 key购买 nike

如何使用 htmlpurifier 允许 borderRadius?

我找到了这个,但它似乎不适用于当前版本的 htmlpurifier,也许他们改变了您添加自己的 css 的方式?

http://htmlpurifier.org/phorum/read.php?2,6154,6154

  $config = HTMLPurifier_Config::createDefault();

// add some custom CSS3 properties
$css_definition = $config->getDefinition('CSS');

$border_radius =
$info['border-top-left-radius'] =
$info['border-top-right-radius'] =
$info['border-bottom-left-radius'] =
$info['border-bottom-right-radius'] =
new HTMLPurifier_AttrDef_CSS_Composite(array(
new HTMLPurifier_AttrDef_CSS_Length('0'),
new HTMLPurifier_AttrDef_CSS_Percentage(true)
));

$info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius);

// wrap all new attr-defs with decorator that handles !important
$allow_important = $config->get('CSS.AllowImportant');
foreach ($info as $k => $v) {
$css_definition->info[$k] = new HTMLPurifier_AttrDef_CSS_ImportantDecorator($v, $allow_important);
}

$html_purifier = new HTMLPurifier($config);

最佳答案

我 fork 了原始 repo 并在净化功能中添加了边框半径的功能,代码在这里找到

https://github.com/msvensson82/htmlpurifier

我基本上只是将它添加到 CSSDefinition.php 文件中,如果你想修改你的文件而不是获取我的 repo。

// border-radius
$border_radius =
$this->info['border-top-left-radius'] =
$this->info['border-top-right-radius'] =
$this->info['border-bottom-left-radius'] =
$this->info['border-bottom-right-radius'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
new HTMLPurifier_AttrDef_CSS_Length('0'),
new HTMLPurifier_AttrDef_CSS_Percentage(true)
));
$this->info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius);

关于css - 带有 borderRadius 的 htmlpurifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17496613/

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