(サンプルソースなどあるとありがたいです)
こんなん(↓)でいかがでしょう.
http://www.2ones.com/bidders+/index.php?tag=%E5%85%A8%E3%81%A6%E...
この(↑)URLのhatenaの情報を取得・表示している部分のソースです。
<?php /*************************************** hatena rss reader はてなのRSS配信を受信して表示する ****************************************/ $keyword = "Webサービス"; $xml_url_hatena = "http://q.hatena.ne.jp/list?mode=rss&word=".urlencode($keyword); $item_count = 0; function startElement_hatena($parser, $name, $attrs) { global $start_item_hatena ,$item_count_hatena ; if($name == 'ITEM'){ $item_count_hatena++; $start_item_hatena = 1; } } function readData_hatena($parser, $value) { global $value_temp_hatena; $value_temp_hatena = $value; } function endElement_hatena($parser, $name) { global $start_item_hatena ,$item_count_hatena ,$item_array_hatena ; global $value_temp_hatena; if($start_item_hatena == 1){ switch($name){ case 'TITLE': $item_array_hatena[$item_count_hatena][title] = $value_temp_hatena; break; case 'LINK': $item_array_hatena[$item_count_hatena][link] = $value_temp_hatena; break; case 'DESCRIPTION': $item_array_hatena[$item_count_hatena][description] = $value_temp_hatena; break; default: break; } if($name == 'ITEM'){ $start_item_hatena = 0; } } } $xml_parser = xml_parser_create(); xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,true); xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1); xml_set_element_handler($xml_parser, "startElement_hatena", "endElement_hatena"); xml_set_character_data_handler($xml_parser, "readData_hatena"); if (!($data = file_get_contents($xml_url_hatena))) { die("XML 入力をオープンできませんでした"); } if (!xml_parse($xml_parser, $data)) { die(sprintf("XML エラー: %s が %d 行目で発生しました", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } // XMLパーサーを解放 xml_parser_free($xml_parser); //echo "結果:配列のサイズ".count($item_array_hatena)."\n"; if(count($item_array_hatena) > 0){ echo "<ul style=\"font-size:8pt;vertical-align:top;padding-top:1px;padding-right:0px;padding-bottom:1px;padding-left:0px;margin-left:0em;margin-top:1em;margin-bottom:1em;\">\n"; $i=1; for ($i=1; $i<count($item_array_hatena)+1; $i++){ echo "<li style=\"font-size:8pt;vertical-align:top;padding-top:1px;padding-right:0px;padding-bottom:1px;padding-left:0px;margin-left:2em;margin-top:1em;margin-bottom:1em;\"><a href=\"".$item_array_hatena[$i][link]."\" target=\"_blank\"><div style=\"font-size:9pt\">".$item_array_hatena[$i][title]."</a><br><div>\n"; echo "<div style=\"font-size:8pt\">".$item_array_hatena[$i][description]."<div>\n"; echo "</li>\n"; } echo "</ul>\n"; }else{ echo "<ul style=\"font-size:8pt;vertical-align:top;padding-top:1px;padding-right:0px;padding-bottom:1px;padding-left:0px;margin-left:0em;margin-top:1em;margin-bottom:1em;\">\n"; echo "<li style=\"font-size:8pt;vertical-align:top;padding-top:1px;padding-right:0px;padding-bottom:1px;padding-left:0px;margin-left:2em;margin-top:1em;margin-bottom:1em;\">Hatenaには情報はありませんでした。</li>"; echo "</ul>\n"; } ?>
「他のサイトのXML」 => RSS
ということであれば、
「Do you php?」の「PEARのXML_RSSでRSSしてみる」
URL:
http://www.doyouphp.jp/sample/sample_xml_pear_rss.shtml
のサンプルソースを見てみるのがいいのではないでしょうか?
コメント(0件)