2014-11-15 6 views
0

Я пытаюсь проверить текущую страницу с помощью класса PHP Tidy. Но он возвращается каждый раз, даже если на текущей странице есть ошибки.Как проверить текущую страницу с помощью класса Tidy

PHP FILE

$html = file_get_contents('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); 

$tidy = tidy_parse_string($html); 

if(tidy_diagnose($tidy)) 
{ 
    echo "This page has passed HTML validation"; 
} 

else { 
    echo "This page has NOT passed HTML validation"; 
} 

ответ

1

The documentation of tidy_diagnose() состояния:

Возвращает значение TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Это относится к функции tidy_diagnose(). Чтобы получить результат операции, вместо этого введите $tidy->errorBuffer. Если вы предпочитаете процедурный стиль, используйте tidy_get_error_buffer($tidy).

Если вы хотите, чтобы убедиться, что нет ошибок и предупреждений, вы можете также использовать соответствующие функции:

if (tidy_error_count($tidy) == 0 && tidy_warning_count($tidy) == 0) { 
    // nothing to complain 
} 
+0

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

+0

Вы можете добиться этого с помощью функций '* _count()', см. обновление. – andy