Должен ли я использовать DomDocument для разбора HTML-кода - PullRequest
0 голосов
/ 08 октября 2010

Я изо всех сил пытался ответить на этот вопрос сам, проводя исследования, но я все еще немного беспокоюсь о том, правильно ли я использую.В основном я использую библиотеку DomDocument для создания jQuery-подобного анализатора тем для моей платформы.Теперь, когда Интернет является таким, каким он является сегодня, HTML может иметь различные формы и размеры, например, HTML 4, HTML 5, XHTML, XHTML 5 и т. Д. Проблема, которую я обнаружил в DomDocument, заключается в том, что если вы дадите ему HTML-код, он будет толькоработать с ним, если он соответствует стандартам XHTML.Я знаю, что он может конвертировать его в XHTML, и я могу использовать библиотеку tidy, чтобы сделать код приемлемым, но моя главная проблема заключается в следующем: что если разработчик, использующий мою инфраструктуру, имеет тему, которая использует все классные (спорные) новые функции HTML 5, каккак только он передает его в мой фреймворк, он либо бросает истерику, либо конвертирует ее в XHTML, который сосет.

Поэтому мой вопрос: DomDocument - самая удобная библиотека для того, что мне нужно?

или

Есть ли способ заставить его работать со всеми различными вариантами HTML?

1 Ответ

1 голос
/ 08 октября 2010

DOMDocument может анализировать файлы не XHTML.Просто установите правильные переключатели:

    libxml_use_internal_errors ( true );

    $dom = new DOMDocument;
    $dom -> formatOutput = true;
    $dom -> substituteEntities = false;
    $dom -> recover = true;
    $dom -> strictErrorChecking = false;
...