Чистка смешанного типа <script>меток - PullRequest
2 голосов
/ 26 апреля 2010

Я чищу HTML, используя cyberneko и xerces. Тем не менее, некоторые сайты $ # @@! @@ по-прежнему используют ОБА

<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 Ответ

1 голос
/ 27 февраля 2011

Использование запрещено в html. Это законно в XML. Я не знаю, почему некоторые люди до сих пор используют способ XML для написания HTML, но это неправильно, и это нарушает большинство синтаксических анализаторов (например, SO ..) - по замыслу.

Еще одна вещь, на которую следует обратить внимание - если вы используете парсеры xml / парсеры dom4j или любые другие вещи, которые от этого зависят, убедитесь, что вы не пропускаете свою строку через парсер xml, а затем парсер html - это сломает все.

...