HBnews.otaのソースコード
まだまだやらなきゃいけないことがあるけれど・・・とりあえず晒す.
<?php class RSSname{ var $link; var $title; function setRSS($link1,$title1){ $this->link = $link1; $this->title = $title1; } function getLink(){ return $this->link; } function getTitle(){ return $this->title; } } $RSSArray = array(); $RSSArray_book = array();//使ってる $RSSArray_music = array();//使ってる //$RSSArray_movie = array(); $RSSArray_web = array();//使ってる $RSSArray_elec = array();//使ってる //$RSSArray_animal = array(); $RSSArray_anime = array();//使ってる //$RSSArray_food = array(); //$RSSArray_sports = array(); $RSSArray_game = array();//使ってる $RSSArray_comic = array();//使ってる //$RSSArray_idol = array(); //$RSSArray_geography = array(); //$RSSArray_art = array(); //$RSSArray_science = array(); //$RSSArray_hatena = array(); $RSSArray_none = array();//使ってる $fpbuf = fopen("output.html","w");//htmlを初期化する //fputs($fpbuf, ""); fclose($fpbuf); function print_HTML($str){ $fp1 = fopen("output.html","a"); fputs($fp1, $str); fclose($fp1); } ?> <?php print_HTML("<html><head>\n"); print_HTML("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n"); print_HTML("<title>HBnews.ota</title>\n"); print_HTML("</head>\n"); print_HTML("<h1>HBnews.ota</h1>\n"); print_HTML("開発者ブログ:<a href=http://d.hatena.ne.jp/n_euler666/ target=_blank>WebLab.ota</a> "); ?> <?php //////RSSを解析する/////// $rss = simplexml_load_file("http://b.hatena.ne.jp/n_euler666/rss"); $count = 0; foreach ($rss->item as $item) { $dc = $item->children('http://purl.org/dc/elements/1.1/'); $link = $item->link; $title = $item->title; $date = $dc->date; $desc =$item->description; //echo "<li><a href=\"$link\" title=\"$title\">$title</a>$date</li><BR>\n"; /////////カテゴリを判定する///////// $URL = 'http://b.hatena.ne.jp/entry/'.$link; // URL をオープン $fp = fopen($URL, 'r'); // HTML を読み出す $category = "";//カテゴリを保存する while (! feof($fp)) {//カテゴリを判別する $buffer = fread($fp, 1024) or die("READ"); $point = strpos($buffer, "cname"); if($point != FALSE){ $point = $point+6; for(;;$point++){ if($buffer{$point}=="\"") break; $category = $category.$buffer{$point}; } } } //echo $category; // HTML のクローズ fclose($fp) or die("CLOSE"); /////オブジェクトを生成する///// $newRSS = new RSSname(); $newRSS->setRSS($link,$title); //オブジェクトを管理する array_push($RSSArray,$newRSS); if($category =="anime"){ array_push($RSSArray_anime,$newRSS); }else if($category =="elec"){ array_push($RSSArray_elec,$newRSS); }else if($category =="book"){ array_push($RSSArray_book,$newRSS); }else if($category =="web"){ array_push($RSSArray_web,$newRSS); }else if($category =="music"){ array_push($RSSArray_music,$newRSS); }else if($category =="game"){ array_push($RSSArray_game,$newRSS); }else if($category =="comic"){ array_push($RSSArray_comic,$newRSS); }else{ array_push($RSSArray_none,$newRSS); } } ?> <body> <?php /* foreach($RSSArray as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); echo "<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a></li><BR>\n"; } */ ?> <?php if(RSSArray_elec != null){ print_HTML("<h3>computer</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_elec as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_web != null){ print_HTML("<h3>web</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_web as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_book != null){ print_HTML("<h3>book</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_book as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_anime != null){ print_HTML("<h3>anime</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_anime as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_comic != null){ print_HTML("<h3>comic</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_comic as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_game != null){ print_HTML("<h3>game</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_game as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_music != null){ print_HTML("<h3>music</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_music as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php if(RSSArray_none != null){ print_HTML("<h3>none</h3>\n"); print_HTML("<ul>\n"); foreach($RSSArray_none as $rssArray){ $rssLink = $rssArray->getLink(); $rssTitle = $rssArray->getTitle(); print_HTML("<li><a href=\"$rssLink\" title=\"$rssTitle\">$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php print_HTML("</body>"); print_HTML("</html>"); ?>
アルゴリズムやプログラムの説明:はてブニュースみたいなプログラム - WebLab.ota