Первое: я знаю, что есть интерфейс для валидатора W3C: http://pear.php.net/package/Services_W3C_HTMLValidator/ Но я не знаю, смогу ли я установить его на дешевом сервере хостинга. Я так не думаю.
Мне нужен валидатор для моих инструментов seo в моей системе управления контентом, поэтому он должен быть довольно переносимым.
Я хотел бы использовать W3C, но только если он будет переносимым. Я также могу использовать Curl для этого, но это не будет изящное решение.
Самый лучший, который я нашел до сих пор: http://phosphorusandlime.blogspot.com/2007/09/php-html-validator-class.html
Есть ли какой-либо валидатор, сопоставимый с W3C, но переносимый (только PHP, который не зависит от пользовательских пакетов)?
Если вы хотите проверить (X) HTML-документы, вы можете использовать собственное расширение DOM
PHP:
DOMDocument::validate
– DOMDocument::validate
документ на основе DTD Пример из руководства:
$dom = new DOMDocument; $dom->load('book.xml'); // see docs for load, loadXml, loadHtml and loadHtmlFile if ($dom->validate()) { echo "This document is valid!\n"; }
Если вам нужны отдельные ошибки, libxml_get_errors
их с помощью libxml_get_errors
Я задал аналогичный вопрос, и вы можете проверить некоторые из ответов там.
В общем, я бы рекомендовал либо запустить HTML-код в порядке на хосте, либо написать короткий скрипт для проверки через W3C удаленно. Лично мне не нравится опрятный вариант, потому что он переформатирует ваш код, и я ненавижу, как он помещает теги <p>
в каждую строку.
Вот ссылка на порядок, и вот ссылка на различные инструменты проверки W3C .
Следует иметь в виду, что проверка HTML не работает с кодом на стороне сервера; он работает только после оценки вашего PHP. Это означает, что вам нужно будет запустить ваш код через интерпретатор PHP хоста, а затем «подключить» его либо к утилите tidy, либо к службе удаленной проверки. Эта команда будет выглядеть примерно так:
$ php myscript.php | tidy #options go here
Лично я в конечном итоге решил отказаться от головной боли и просто отобразить страницу, скопировать источник и проверить с помощью прямого ввода в утилите проверки W3C. Есть так много раз, что вам нужно все равно проверять страницу, и автоматизировать ее было больше проблем, чем того стоит.
Удачи.