-
在我当前的项目中,我有一个HTML-WYSIWYG编辑器。用户可以使用不同的Webfonts来设计他们的文本。
我使用的编辑是NiceEdit。它生成如下代码:
<font face="comic sans ms">Comic Sans</font><br>
<font face="georgia">Georgia</font><br>
<font face="helvetica">Helvetica</font><br>
我想过滤字体,只想通过HTMLPurifier来允许特定的字体。
所以我的想法是自定义配置:
$config->set('HTML.DefinitionID', 'enduser-customize.html tutorial');
$config->set('HTML.DefinitionRev', 1);
$config->set('Cache.DefinitionImpl', null); //TODO: remove this later!
$def = $config->getHTMLDefinition(true);
$def = $config->getHTMLDefinition(
$def->addAttribute('font', 'face', 'Text#impact, georgia');
$purifier = new HTMLPurifier($config);
所以在这种情况下我只想允许字体&#34; 影响&#34;和&#34; 格鲁吉亚&#34;。
但它不会以这种方式工作,所有字体仍然会通过并显示。
如果有人可以帮助我,那会很棒!
谢谢! 斯蒂芬
答案 0 :(得分:1)
您必须覆盖过滤font-family和font的逻辑。我认为在外部进行正确操作会很棘手,因此您可以手动编辑AttrDef/CSS/FontFamily.php
以应用限制。