Я могу проверить xhtml программно из сценария php?

Я хотел бы иметь функцию PHP, чтобы проверить, возвращает ли URL действительный HTML или НЕ, и возвращает истину или ложь.

Что-то вроде:

if (validate_page ("/ somefile.html")) {echo "Эта страница подтверждена!!"; }

Я нашел TWINE, но он не просто дает мне истину или ложь. Также я получил ошибку при запуске его в моей системе. http://twineproject.sourceforge.net/

Я нашел этот автономный инструмент, который выглядел многообещающим. http://htmlhelp.com/tools/validator/offline/

Также я нашел эту ветку, которая говорит о драгоценном камне, но это звучит проблематично. Как мне проверить XHTML с помощью nokogiri?

5 ответов

Решение

Вы можете использовать API валидатора W3C. Через PEAR доступна библиотека PHP ( нажмите здесь), которая использует указанный API.

Вы также можете установить валидатор на свой локальный сервер ( инструкции здесь), хотя у вас может не быть достаточных разрешений для этого, если вы используете виртуальный хостинг.

Вы также можете попробовать DOMDocument->validate() если вы используете PHP 5 и если документ содержит DTD.

http://www.php.net/manual/en/domdocument.validate.php

libxml_use_internal_errors ( true );
$doc = new DOMDocument;
$doc -> loadHTMLFile ( $file ); // load the file you want validated
var_dump ( libxml_get_errors () );

xhtml должен быть действительным xml - если вы только хотите это проверить, вы можете легко использовать simplexml, но если вы также хотите проверить правильность элементов / атрибутов, это вам не поможет (в этом случае NullUserExceptions подсказывает API валидатора W3C будет лучшим решением для выбора).

Другие вопросы по тегам