Я могу проверить 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.
Вы также можете установить валидатор на свой локальный сервер ( инструкции здесь), хотя у вас может не быть достаточных разрешений для этого, если вы используете виртуальный хостинг.
Аккуратный?
Проверить: http://us.php.net/manual/en/function.tidy-diagnose.php
Ремонт: http://us.php.net/manual/en/tidy.repairstring.php
Вы также можете попробовать DOMDocument->validate()
если вы используете PHP 5 и если документ содержит DTD.
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 будет лучшим решением для выбора).