HBnews.otaのソースコード
かなり形になってきたw(CSSとかいろいろ追加した)
HBnews.ota
<?php /** * 製作者:WebLab.ota (http://d.hatena.ne.jp/n_euler666/) * Last Updata 2007/11/12 * 自分のはてなブックマークをニュース風のHTML文書に整形して出力するプログラムです. **/ //初期設定 $RSS_URL = 'http://b.hatena.ne.jp/n_euler666/rss';//自分のはてなブックマークRSSのURLを設定 $HB_title = "HBnews.ota";//ニュースのタイトル $Google ="UA-2288165-4";//Google Analyticsのキー ?> <?php class RSSname{ var $desc; var $link; var $title; function setRSS($link1,$title1,$desc1){ $this->link = $link1; $this->title = $title1; $this->desc = $desc1; } function getLink(){ return $this->link; } function getTitle(){ return $this->title; } function getDesc(){ return $this->desc; } } $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();//使ってる $htmlString = ""; function print_HTML($str){ global $htmlString; $htmlString = $htmlString.$str; } ?> <?php print_HTML("<html><head>\n"); print_HTML("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n"); print_HTML(" <meta http-equiv=\"content-style-type\" content=\"text/css\">\n <link rel=\"stylesheet\" href=\"./hb.css\" type=\"text/css\">\n"); print_HTML("<title>$HB_title</title>\n"); print_HTML("</head>\n"); print_HTML("<script src=\"http://www.google-analytics.com/urchin.js\" type=\"text/javascript\">\n"); print_HTML("</script> \n <script type=\"text/javascript\">\n _uacct = \"$Google\"; \n urchinTracker();\n</script>\n"); print_HTML("<BODY>\n"); print_HTML("<h1>$HB_title</h1>\n"); print_HTML("開発者ブログ:<a href=http://d.hatena.ne.jp/n_euler666/ target=_blank>WebLab.ota</a>"); print_HTML("(ソースプログラム,アルゴリズムを公開しています)<BR>\n"); print_HTML("このページは<a href=\"$RSS_URL\" target=_blank>自分のはてなブックマーク</a>を読み込み,ニュース風のHTMLに整形してくれるプログラムによって自動生成されています.<BR>\n"); ?> <?php //////RSSを解析する/////// $rss = simplexml_load_file($RSS_URL);//自分のはてなブックマークのURL $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; //echo "$URL<BR>\n"; // URL をオープン $fp = fopen($URL, 'r') or die("OPEN"); // 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; fclose($fp) or die("CLOSE"); /////オブジェクトを生成する///// $newRSS = new RSSname(); $newRSS->setRSS($link,$title,$desc); //オブジェクトを管理する 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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</p></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></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(); $rssDesc = $rssArray->getDesc(); print_HTML("<li><p><a href=\"$rssLink\" title=\"$rssTitle\" target=_blank>$rssTitle</a><a href=http://b.hatena.ne.jp/entry/$rssLink><img src=http://b.hatena.ne.jp/entry/image/$rssLink border=0></a></p><p class=\"desc\">$rssDesc</P></li><BR>\n"); } print_HTML("</ul>\n"); } ?> <?php print_HTML("<BR><BR>"); print_HTML("<!--Google AdSense開始-->"); print_HTML("<center><script type=\"text/javascript\"><!--\n"); print_HTML("google_ad_client = \"pub-8582337737379910\";\n"); print_HTML("google_ad_width = 728;\n google_ad_height = 90;\n google_ad_format = \"728x90_as\";\n google_ad_type = \"text_image\";\n google_ad_channel = \"\";"); print_HTML("//--></script><script type=\"text/javascript\" src=\"http://pagead2.googlesyndication.com/pagead/show_ads.js\">\n</script>\n</center>\n"); print_HTML("<!--Google AdSense終了-->"); print_HTML("</body>"); print_HTML("</html>\n"); $fp1 = fopen("index.html","w"); fputs($fp1, $htmlString); fclose($fp1); ?>