DOMを使用して大量のRSSフィードをロードしていますが、ファイルを生成する代わりに404フィードを実行する場合があります。問題は、Webサーバーが予期されたxmlファイルの代わりにhtml 404ページを送信するため、次のコードを使用することです。
$rssDom = new DOMDocument();
$rssDom->load($url);
$channel = $rssDom->getElementsByTagName('channel');
$channel = $channel->item(0);
$items = $channel->getElementsByTagName('item');
この警告が表示されます:
Warning: DOMDocument::load() [domdocument.load]: Entity 'nbsp' not defined
このエラーが続く:
Fatal error: Call to a member function getElementsByTagName() on a non-object
通常、このコードは正常に機能しますが、404を取得した場合、何も実行できません。loadステートメントの周りで標準のtry-catchを試しましたが、キャッチされていないようです。