<?php
define(feed,'http://www.example.com/feed/');
$xml_feed = file_get_contents(feed);
$xml_parser = xml_parser_create();
xml_parse_into_struct($xml_parser,$xml_feed,$xml_keys,$xml_index);
xml_parser_free($xml_parser);
for($i = 0;!empty($xml_index['TITLE'][$i]);$i++){
if ($counter < 10)
{
echo '<span class="nieuwsfeed">
<a href="'.$xml_keys[$xml_index['LINK'][$i]]['value'].'" target="blank_">' . date('d-m-Y', strtotime($xml_keys[$xml_index['PUBDATE'][$i]]['value'])) . ' ' . substr($xml_keys[$xml_index['TITLE'][$i]]['value'], 0, 45).'</a></span>';
$counter++;
}}
?>
.
$doc = new DOMDocument();
$doc->load('http://feeds.example.com/example');
$arrFeeds = array();
foreach ($doc->getElementsByTagName('item') as $node) {
$itemRSS = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue
);
array_push($arrFeeds, $itemRSS);
}
foreach ($arrFeeds as $row)
{
if ($counter2 < 10)
{
?>
このエラーは、フィードがオフラインのときに表示されます。
Warning: DOMDocument::load(http://feeds.example.com/example)
[domdocument.load]: failed to open stream: Connection timed out in
このスクリプトを使用して、フィードを Web ページで実行できるようにしていますが、フィードがオフラインの場合、フィードを検索するのに約 30 秒から 60 秒かかります。次に、フィードが現在オフラインであることを示す標準画像のみを表示します。
XML フィードの 1 つがオフラインになるのは 1 週間に約 2/3 回なので、Web ページが読み込まれ続けるとかなり面倒です。