jQueryとjfeedプラグインを利用して、twitteのフィードを表示させようと思っています。
現状:http://dtf.xsrv.jp/rss.html
2009/07/22:masahumi: 投稿テストその2
2009/07/22:masahumi: 投稿テスト
の表示の名前(masahumi: )を削除したいのですが、よい方法を教えてください。
feed の <link> 内の URL からアカウント名を取り出して (var account = ...)、
正規表現にコンパイルします (var re = ...)。
その正規表現を渡して changeTitle で名前を削除するとよいと思います。
function initRSSFeed(){ jQuery.getFeed({url:'/common/scripts/jquery/proxy.php?url=http://twitter.com/statuses/user_timeline/59070204.rss',success:onComplete}); function onComplete(feed) { var account = feed.link.match("http://twitter.com/(.+)")[1]; var re = new RegExp("^" + account + ": "); var temp = '<ul>'; for(var i = 0; i < feed.items.length && i < 10; i++) { var item = feed.items[i]; temp += '<li>'+changeDate(item.updated)+':'; temp += '<a href="' + item.link + '">' + changeTitle(re, item.title) + '</a></li>'; } temp += '</ul>'; jQuery('#twitter').append(temp); } } //表示の名前(masahumi: )を削除 function changeTitle(re, title){ return title.replace(re, "") }
replace メソッドで置換してはどうでしょう。
下記スクリプトを参考にしてください。
<script type="text/javascript" language="JavaScript"> <!-- var sour = "2009/07/22:masahumi: 投稿テストその2"; dest = sour.replace(/^(.*)masahumi: (.*)$/, "$1$2"); alert(dest); //--> </script>
ありがとうございます。
ソース見ていただければ分かるかもしれませんが、文字列がjfeedからその都度受け取るんですよね。ソースのfunction changeDate(str){}みたいな感じで、function changeTitle(str){}なんて無理ですかね。
feed の <link> 内の URL からアカウント名を取り出して (var account = ...)、
正規表現にコンパイルします (var re = ...)。
その正規表現を渡して changeTitle で名前を削除するとよいと思います。
function initRSSFeed(){ jQuery.getFeed({url:'/common/scripts/jquery/proxy.php?url=http://twitter.com/statuses/user_timeline/59070204.rss',success:onComplete}); function onComplete(feed) { var account = feed.link.match("http://twitter.com/(.+)")[1]; var re = new RegExp("^" + account + ": "); var temp = '<ul>'; for(var i = 0; i < feed.items.length && i < 10; i++) { var item = feed.items[i]; temp += '<li>'+changeDate(item.updated)+':'; temp += '<a href="' + item.link + '">' + changeTitle(re, item.title) + '</a></li>'; } temp += '</ul>'; jQuery('#twitter').append(temp); } } //表示の名前(masahumi: )を削除 function changeTitle(re, title){ return title.replace(re, "") }
temp += '<a href="' + item.link + '">' + changeTitle(item.title) + '</a></li>'; function changeTitle(str){ var s = ": "; var p = str.indexOf(s); return str.slice(p + s.length); }
こちらも完璧です。ありがとうございました。
わお!
完璧です。ありがとうございました。
http://dtf.xsrv.jp/rss_2.html