尝试引用“与”字符:
echo 'a & b' | tidy -q --quote-ampersand yes --preserve-entities no --show-body-only yes结果:
a & b期望:
a & b整洁的版本:
tidy -v
HTML Tidy for Linux version 5.2.0发布于 2018-10-21 15:46:49
我发现当我将一些文档从XHTML迁移到HTML5时,HTML Tidy开始将所有的&都改为纯&,并且忽略了quote-ampersand选项。
作为一种解决方法,可以使用input-xml选项强制使用XML模式。
我自己还是想要一个合适的解决方案。我深入研究了代码,发现了这个可能相关的代码片段(from pprint.c on Github):
if ( c == '&' && cfgBool(doc, TidyQuoteAmpersand)
&& !cfgBool(doc, TidyPreserveEntities)
&& ( mode != OtherNamespace) ) /* #130 MathML attr and entity fix! */
{
AddString( pprint, "&" );
return;
}如果mode为OtherNamespace,则&字符不会更改。我还不知道,但我猜可能是HTML5模式改变了名称空间的处理方式,使其始终处于OtherNamespace模式?
https://stackoverflow.com/questions/47178477
复制相似问题