0

私は DomDocuement を初めて使用し、他のどこにも答えを見つけることができなかったため、この回答を書いています。

CMS サイト用のカスタム WordPress テーマを作成しています。要件の 1 つは、他のサイトから Web ページのコンテンツを取得し、そのコンテンツの一部を選択して表示し、完全なコンテンツについて元のサイトを参照することです。

そのためwp_remote_get、WordPress の関数を使用して Web ページを取得しています。次に、特定の Web ページ要素に移動するためにそれを解析する必要があります。次のように、Domdocument を使用してページを解析しています。

$dom = new domDocument();
$dom->loadHTML($html); // Where $html is the page retrieved earlier using wp_remote_get

さて、問題は loadHTML() がこれらの警告を引き起こしていることです:

PHP Warning:  DOMDocument::loadHTML(): DOCTYPE improperly terminated in Entity, Lline: 2
PHP Warning:  DOMDocument::loadHTML(): htmlParseStartTag: misplaced <html> tag in Entity, line: 3
PHP Warning:  DOMDocument::loadHTML(): htmlParseStartTag: misplaced <head> tag in Entity, line: 4
PHP Warning:  DOMDocument::loadHTML(): htmlParseStartTag: misplaced <body> tag in Entity, line: 105
PHP Warning:  DOMDocument::loadHTML(): ID 1 already defined in Entity, line: 551

そして、さらに多くの警告があります。

明らかに、この Web ページには何か問題がありますが、取得する必要があるほとんどのページでこれらのエラーが発生します。

私の質問は次のとおりです。

  1. それらの警告について心配する必要がありますか
  2. これらの欠陥を無視するように domdocuemnt に指示する方法はありますか?
  3. 物事を正しく機能させるにはどうすればよいですか

ご意見ありがとうございます

4

0 に答える 0