2016-10-31 8 views
0

私は、HTMLフラグメントをロードして解析するためにDomDocumentクラスを使用しようとしています(<html><body>タグは含まれていません)。 MS-WordがHTMLに変換されたときに残ったゴミはたくさんありますので、DOMDocument::loadHTML(): Tag o:p invalid in Entity, line: 69 ddtest.d8.drush.inc:68のような警告メッセージが表示されています。PHP DomDocumentの使用時に警告メッセージを除外するにはどうしたらいいですか?

$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); 

しかし、それは効果がありません、警告メッセージがまだ表示されます。私は間違って何をしていますか?

+0

RTFM? http://php.net/manual/en/domdocument.loadhtml.php '不正なHTMLが正常に読み込まれるべきですが、この関数は不正なマークアップに遭遇したときにE_WARNINGエラーを生成する可能性があります。 libxmlのエラー処理関数を使ってこれらのエラーを処理することができます。 ' –

+0

http://php.net/manual/en/libxml.constants.phpから何をしようとしているのかわからなかった場合、RTFMになる可能性があります –

答えて

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(); 
関連する問題