2012-04-02 3 views
0

есть хороший справочник о том, как разобрать HTML комментариев робастно особенно где HTML содержит JavaScript, который может сломаться комментариемразбор HTML комментария правильно

, например:

  <!-- 
     <script type="text/javascript"> 
     for(var i = 10; i > 0; i--) { 
         if(myar[i].status > 3) { 
            ntlp++; 
         } 
     } 
     </script> 
     --> 

два минуса-х и более 3 в сценарии можно считать конкатенацией, которая интерпретируется как '->' (если вы правильно следуете спецификации html/sgml ).

В любом случае, есть ли список правил/gotchas для обработки всего этого? В C предпочтительнее, иначе псевдокод тоже замечательный.

благодаря

Ashod

+0

Да, * использовать парсер HTML * :) См. Спецификацию HTML для правил синтаксического анализа. –

ответ

1

Если вы встречаете <!-- в коде, все дальше является комментарием до -->. Какие еще правила необходимы?

+0

Это не так. Правила: ' как часть комментария - следующее появление двойного штриха означает следующее '>' закрывает тег сохраняет чередующиеся правила, когда появляются двойные штрихи –

+1

@ AshodApakian Кто вам это сказал? – iehrlich

+0

Я не верю, что это правда. Я уверен, что '' также может быть * защищен *. (И, таким образом, он * использовался как взлом в Netscape версии 3.0 и т. Д.). В любом случае, ссылаясь на спецификацию HTML *, будет (или нарушен) этот ответ. –

Смежные вопросы