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);

?>