我在一个AntiSamy项目中使用.Net。我想保留<span>标签的样式属性,完好无损。我试图修改政策,但无论我做什么,我都得到同样的结果.由此:
<p><span style="font-size:10px"><span style="font-family:arial">Name here<br />对此:
<p><span style=""><span style="">Name here<br />在查看策略文件之后,我在那里看到了这样的评论:
<!-- the "style" attribute will be validated by an inline stylesheet scanner, so no need to define anything here - i hate having to special case this but no other choice -->这里我有一些问题..。
策略xml文件中的这一行注释意味着什么?
我是否必须对<common-attributes>中的样式属性进行更改,还是不触及<span>标记中的样式属性?
是否只需要在<tag name="span" action="validate"/>中更改<tag-rules>下的样式属性内容才能保持原样?
提前谢谢你。
发布于 2014-10-16 14:18:05
“样式”属性是AntiSamy中的特例(因为样式属性的值由属性值对的列表组成)。
style="font-size:10px; color:red;"样式属性的值由一个内联样式表扫描器专门扫描。与其他标记属性一样,这种验证并不简单,因为“样式”本身中的每个属性都应该遵循一些规则。必须为这些规则定义一个节,例如,
<css-rules>
<property name="font-size" >
<category-list>
<category value="visual" />
</category-list>
<literal-list>
<literal value="inherit" />
</literal-list>
<regexp-list>
<regexp name="length" />
</regexp-list>
</property>
</css-rules>css属性字体大小将根据css-规则中定义的规则进行验证。在这里,正则表达式长度在公共正则表达式部分中定义为
<regexp name="length"
value="((-|\+)?0|(-|\+)?([0-9]+(\.[0-9]+)?)(em|ex|px|in|cm|mm|pt|pc))" />公共属性或标记规则部分没有任何更改。
https://stackoverflow.com/questions/22873126
复制相似问题