Разбор невалидного xml

light83

Новичок
Приветствую!
Имеется такой xml:
PHP:
<body>
  <script language="javascript">
     if (count < 6) {document.write("Count")}
  </script>
</body>
Данный xml будет работать в любом браузере, но из-за того что в яваскрипте имеется знак "<", на этом месте разбор xml в php заканчивается как невалидный.
Пробовал 2 метода - SimpleXML и xml_parse, пробовал использовать разные функции работы с xml ошибками - не помогло.
Помогает заключить <script> в комментарий CDATA, но это требует препроцессинга xml, что не желательно.
Неужели несмотря на кучу xml-расширений для php придется написать свою функцию для такого случая, или я чего-то не заметил?
 

С.

Продвинутый новичок
Этот невалидный xml называется html. Может будет логичнее и разбирать его как html, а не xml?
 

light83

Новичок
Этот невалидный xml называется html. Может будет логичнее и разбирать его как html, а не xml?
Ну допустим. Я правда всю жизнь думал что html это и есть xml. Если быть точным это не обязательно html, это запросто может быть xhtml, то есть точно xml-документ. Вопрос остается прежний: есть ли средства для его разбора?
 

fixxxer

К.О.
Партнер клуба
> Я правда всю жизнь думал что html это и есть xml

Нет. HTML и XML - оба подмножества SGML. Вариация HTML под названием XHTML совместима с XML, обычный HTML - нетъ.

По сабжу - через tidy приводишь к валидному xhtml, потом парсишь чем хочешь.
 

light83

Новичок
Спасибо всем, особенно fixxxer, думаю tidy решит сразу все мои проблемы, а не только описанную здесь.
 
Сверху