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