2011-08-31 76 views
0

我利用PHP整齐的,我一直在考虑在用户已经放在href属性内的评论,像这样的情况:PHP整洁编码评论

<a href="<!-- Comment -->">Link</a> 

当我通过它通过整理它返回:

<a href="&lt;!-- Comment --&gt;">Link</a> 

我猜这是Tidy纠正这种情况的方法吗?这是有道理的,但是有没有办法阻止这种行为,除了不使用Tidy?!

我试过打开/关闭配置选项:literal-attributes,fix-bad-commentspreserve-entities。但这些似乎并没有关闭这种效果

+0

嗯,也许只有链接到实际的链接? – Cyclone

+0

@Cyclone - 你可能想给我带来怀疑的好处。评论用于其他目的。 – Abs

+0

对不起,我从来没有见过任何人在之前的链接的href中发表评论。 – Cyclone

回答

2

我不认为这是有效的HTML甚至。您不能将标签放入属性值中。

+0

它是有效的代码,我通过W3C验证器,它通过了!我不认为它也是有效的!对于某些文档类型,我应该添加。它对xHTML无效。 – Abs

+0

有很多东西是有效的,但Tidy故意不接受。例如,某些SGML shorthands像'


'在技术上在HTML(HTML5之前)中是有效的,但Tidy会重写它们,因为它们可能不会被某些代理正确解析。 – duskwuff

0

在通过PHP tidy传递html之前,请查找注释(可能是regexp?)并以某种方式对它们进行编码。然后在使用整理后取消编码。

如何编码注释的一个例子是将href设置为comment://n,其中n是原始注释文本的索引,存储在数组中。