使用PHP DomDocument时如何排除警告消息?

时间:2016-10-31 21:56:53

标签: php

我尝试使用DomDocument类加载和分析HTML片段(不包含<html><body>标记)。当MS-Word被转换为HTML时,会遗留很多垃圾,因此我收到了DOMDocument::loadHTML(): Tag o:p invalid in Entity, line: 69 ddtest.d8.drush.inc:68等警告消息。 以下是相关代码:

    $dom = new DOMDocument;
    //load the html into the object
    $dom->loadHTML($row->body_value);

我试图通过使用它来删除警告消息:

    $dom = new DOMDocument;

    //load the html into the object
    $dom->loadHTML($row->body_value, LIBXML_NOWARNING);

但它没有效果,警告信息仍会显示。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用libxml这样的错误处理:

libxml_use_internal_errors( true );

$dom=new DOMDocument;
$dom->preserveWhiteSpace = false;
$dom->validateOnParse = false;
$dom->standalone=true;
$dom->strictErrorChecking=false;
$dom->substituteEntities=true;
$dom->recover=true;
$dom->formatOutput=false;
$dom->loadHTML( $row->body_value );

libxml_clear_errors();