代码之家  ›  专栏  ›  技术社区  ›  Yossale

清除混合类型<script>标记

  •  2
  • Yossale  · 技术社区  · 14 年前

    我正在使用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> , 
    

    然后我失去了所有的内在内容:(

    有什么建议吗?

    1 回复  |  直到 13 年前
        1
  •  1
  •   Yuhong Bao    13 年前

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

    另一件需要注意的事情是——如果你使用XML解析器/DOM4J解析器或者其他依赖它的东西,确保你的字符串没有经过XML解析器,然后是HTML解析器——这将破坏一切。

    推荐文章