PHPを覚えたてのころのDMMのサイトジャンル別RSSを読み込んで自分のアフィリエイトIDを付加してHTMLページに落とすというプログラムを組みました。
今だったら、XML/RSS.php とか SimpleXML とか Smarty とか使ってもっとシンプルに組みますけどw
Cashも使って毎度のリクエストは避けたほうがいいですねー
DMMのRSSはちょっと違うからこんな風に強引に組みました。
<?php
//ヘッダはUTF-8
header(” Content-Type: text/html; charset=UTF-8″ );
//RSSのURL
$url = “http://www.dmm.co.jp/monthly/alice/-/list/=/sort=date/rss=create/_jloff=1/”;
//自分のアフィリエイトID
$id = “dmmのid”;
$i = 0;
$_data = null;
//改行とかそういう表示上の都合で後で使う
$flg = 0;
$content_flg = 0;
//RSSを読み込む
if( $_http = fopen( $url, “r” )){
while( !feof( $_http ) ){
$_data = fgets( $_http, 1024 );
if($flg == 1 ){
//何もしない
if( substr_count($_data , “item”) >0
|| substr_count($_data , “description”) >0
|| substr_count($_data , “dc:date”) >0
|| substr_count($_data , “dc:creator”) >0
|| substr_count($_data , “package”) >0
){
//タイトルタグを置き換える
}else if( substr_count($_data , “title”) >0 ){
$title = “”;
$_data = str_replace(“<title>”, “”, $_data);
$_data = str_replace(“</title>”, “”, $_data);
$title = $_data;
//リンクがあれば自分のidを付加する
}else if( substr_count($_data , “link”) >0 ){
$link = “”;
$_data = str_replace(“<link>”, “”, $_data);
$_data = str_replace(“</link>”, “”, $_data);
$link = $_data.$id;
//リンク整形
echo “<table width=800 class=\”maintable\” >”;
echo “<tr><td colspan=2 align=left valign=middle>”;
echo “<a href=\”$link\” target=\”_blank\”><br><b><font style=\”color : blue;\” style=\”font-size:16px\” >$title</font></b></a>”;
echo “</td></tr>”;
//コメントの中に画像が入っているのでこんな風に出す
}else if( substr_count($_data , “<content:encoded>”) >0 ){
$content_flg = 1;
$_data = str_replace(“<![CDATA[“, “”, $_data);
$imgst = strpos($_data , “<img”,0);
$imgend = strpos($_data , “</a>”,0);
$linkimage = substr($_data, $imgst, $imgend);
//リンク元の画像がない場合はNOW PRINTING画像を出す
if($linkimage == ”) $linkimage = “<img src=\”http://yourvideo.heteml.jp/file/printing.jpg\” border=\”0\”>”;
echo “<tr><td class=\”maintd\”><a href=\”$link\” target=\”_blank\”>$linkimage</a>”;
//以下データ整形&リンクができればIDを付加してリンクする
}else if( substr_count($_data , “収録時間”) >0 ){
$content_flg = 1;
$_data = “</td><td align=left>”.$_data;
$_data = str_replace(“\”>”, “$id\”>”, $_data);
echo $_data;
}else if( substr_count($_data , “ムービープレビュー”) >0 ){
$content_flg = 1;
$_data = “<a href=\”$link\” target=\”_blank\”><b>もっと見る!</b></a></td></tr><tr><td colspan=2 align=center>”.$_data;
echo $_data;
}else if( substr_count($_data , “</content:encoded>”) >0 ){
$content_flg = 1;
$_data = str_replace(“]]>”, “”, $_data);
$_data = $_data.”<br><br></td></tr></table><br>”;
echo $_data;
}else{
$_data = str_replace(“\”>”, “$id\”>”, $_data);
echo $_data;
}
}
if( substr_count($_data , “/image”) >0 ) $flg = 1;
$i++;
}
fclose( $_http );
}
?>
コメントは受け付けていません。