Java 清洁混合型<;脚本>;标签

Java 清洁混合型<;脚本>;标签,java,html-sanitizing,cyberneko,Java,Html Sanitizing,Cyberneko,我正在使用cyberneko和xerces清理HTML。 然而,一些$#@网站仍然使用这两种方法 <script>...</script> and <script.../> 。。。及 那么发生的事情是:给定 <script..../> <div> Some Text </div> <script> scripting stuff </script> , 一些文本脚本编写的东西, neko将

我正在使用cyberneko和xerces清理HTML。 然而,一些$#@网站仍然使用这两种方法

<script>...</script> and <script.../> 
。。。及
那么发生的事情是:给定

<script..../> <div> Some Text </div> <script> scripting stuff </script> , 
一些文本脚本编写的东西,
neko将以上所有行解析为脚本,因此

<script..../> &lt div &gt Some Text &lt/div &gt &lt script &gt scripting stuff </script> , 
< div>一些文本</div><脚本>脚本材料,
然后我失去了所有的内部内容:(

有什么建议吗?

在html中使用是非法的。在xml中它是合法的。我不知道为什么有些人仍然使用xml的方式来编写html,但这是错误的,它通过设计破坏了大多数解析器(比如…)


另一件需要注意的事情——如果您使用xml解析器/dom4j解析器或任何其他依赖于它的东西,请确保您没有将字符串先传递给xml解析器,然后传递给html解析器——这将破坏一切。

LOL,显然stackoverflow的代码解析器也有同样的问题:)我很惊讶有人使用过它(自关闭脚本标签)曾经。输出关闭标签非常简单,而且奖励非常好(完全兼容),以至于你想知道他们认为这样做的胜利在哪里?@Robusto,我完全同意。最恼人的是,这些都是大联盟内容网站!