フィードの取得&表示方法について
http://neta-times.net/entries/953/
現在HPを開設しているのですが、そこで上記のサイトを参考にして書きのようにコードを記述してRSSフィードを取得&表示しています。
<script type="text/javascript">
<!--//
google.load("feeds", "1");
var entryArray = new Array();
var entryNum = 0;
function initialize() {
feedAdd("RSSフィードURL", 1);
}
function feedAdd(rssUrl, boolNum) {
var feed = new google.feeds.Feed(rssUrl);
feed.setNumEntries(5);//サイト1つあたりの取得するフィード数
feed.load(function(result) {
if (!result.error) {
for (var i = 0; i < result.feed.entries.length; i++) {
entryArray[entryNum] = result.feed.entries[i];
var date = new Date(result.feed.entries[i].publishedDate);
entryArray[entryNum].sortDate = ( date.getFullYear()*1000000 ) + ( (date.getMonth() + 1)*3600*32 ) + ( date.getDate()*3600 ) + ( date.getHours()*60 ) + date.getMinutes();
entryArray[entryNum].blogName = result.feed.title;
entryNum+=1;
}
}
if(boolNum==1){
feedOutput("feed", 100);//フィードの出力
}
});
}
function feedOutput(feedId, listNum){
var useFeed = "";
var useDate = "";
var container = document.getElementById(feedId);
var refDate = new Date();
refDate = new Date(+refDate - (7*24*60*60*1000 + refDate%86400000 - refDate.getTimezoneOffset()*60000));
var newImage = '<img src="./img/new.gif" alt="new">';
entryArray = asort(entryArray, "sortDate");
if(listNum==100){//出力するリスト数
listNum = entryNum;
}
for (var i = 0; i < listNum; i++) {
var entry = entryArray[i];
var date = new Date(entry.publishedDate);
var y = date.getFullYear();
if (y < 10) {y = "0" + y;}
var m = date.getMonth() + 1;
if (m < 10) {m = "0" + m;}
var d = date.getDate();
if (d < 10) {d = "0" + d;}
useDate = y + "年" + m + "月" + d + "日";
youbi = date.getDay();
day = new Array("日","月","火","水","木","金","土");
useFeed += '<div style="float:left;width:115px;">';
useFeed += (date>refDate)?newImage:""; //←new画像の表示を追加
useFeed += " "+ y + "/" + m + "/" + d + "(" + day[youbi] + ")";
useFeed += '</div><div style="float: left;width:400px;height:18px;overflow:hidden;"><a href="' + entry.link + '" target="_blank" title="' + entry.title + '【' + entry.blogName + '】">' + entry.title + '/' + entry.blogName +'</a></div>';
}
container.innerHTML = '<div>' + useFeed + '</div>';
}
function asort(myArray, key){
return myArray.sort ( function (b1, b2) { return b1[key] > b2[key] ? -1 : 1; } );
}
google.setOnLoadCallback(initialize);
//-->
</script><font size="2" face="Times new Roman">
<div style="height:90px; width:600px; overflow:auto;" id="feed">Loading...</div>
上記のコードで問題なくフィードを表示できるのですが、一点修正したい箇所があります。
『entry.blogName』の部分なのですが、ここにはブログのタイトルなどを取得して表示されます。
ブログのタイトルがそのまま(芸能人の名前など)だったらいいのですが、稀にまったく関係ないタイトルがつけられていてそれだけだと誰のブログなのか閲覧者は分からなくなります。
それで受信するタイトルを自身の指定したテキストに書き換えたいのですが、そんな事はできるのでしょうか?
取得するブログのタイトル(entry.blogName)が○○だけど実際に表示する時には△△と表示させるような。
PHPは初心者でまったく分かりません。
詳しい方いらっしゃいましたらご教示ください。
何卒よろしくお願いします。
お礼
RSSリーダーをダウンロードして使ってみます。 教えて頂きまして、有難うございました。