为什么DOMDocument :: validate()请求失败?

时间:2019-06-03 08:16:07

标签: php dom domdocument

我做了一个函数,可以帮助我验证html文档。它可以工作,但是当它达到$doc->validate()部分时,我会看到一个错误о最大执行时间

/* This my function and arrays */
$correct_html_array = ['<a>', '<div>', '</div>', '</a>', '<span>', '</span>'];
$incorrect_html_array = ['<a>', '<div>', '</a>', '<p>' , '</tr>'];

function validate_html($html_array) {

    $tags = htmlspecialchars(implode("", $html_array));

    $html_doc="<!DOCTYPE html>" . "<html><body>" . $tags . "</body></html>"; 

    $doc = new DOMDocument();

    $doc->loadHTML($html_doc);

    if($doc->validate()) { // here is a Maximum execution time error
        echo 'Код валидный!';
    } else {  
        echo 'Код не валидный!';
    }

}


validate_html($incorrect_html_array);

/ **这是一个错误* /

  

警告:   DOMDocument :: validate(http://www.w3.org/TR/REC-html40/loose.dtd):   无法打开流:HTTP请求失败!在   C:\ xampp \ htdocs \ test \ task_4.php在第22行

     

警告:DOMDocument :: validate():I / O警告:加载失败   外部实体“ http://www.w3.org/TR/REC-html40/loose.dtd”中   C:\ xampp \ htdocs \ test \ task_4.php在第22行

     

警告:DOMDocument :: validate():无法加载外部子集   在“ http://www.w3.org/TR/REC-html40/loose.dtd”中   C:\ xampp \ htdocs \ test \ task_4.php在第22行

     

致命错误:超过30秒的最大执行时间   第22行的C:\ xampp \ htdocs \ test \ task_4.php警告:   DOMDocument :: validate(http://www.w3.org/TR/REC-html40/loose.dtd):   无法打开流:HTTP请求失败!在   C:\ xampp \ htdocs \ test \ task_4.php在第22行

     

警告:DOMDocument :: validate():I / O警告:加载失败   外部实体“ http://www.w3.org/TR/REC-html40/loose.dtd”中   C:\ xampp \ htdocs \ test \ task_4.php在第22行

     

警告:DOMDocument :: validate():无法加载外部子集   在“ http://www.w3.org/TR/REC-html40/loose.dtd”中   C:\ xampp \ htdocs \ test \ task_4.php在第22行

     

致命错误:超过30秒的最大执行时间   C:\ xampp \ htdocs \ test \ task_4.php在第22行

如果您能帮助我解决这个问题,我将向您表示感谢。

0 个答案:

没有答案