-PR-
  • すぐに回答を!
  • 質問No.6877424
解決
済み

javascriptで出力する文字列を置換したい。

  • 閲覧数535
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 50% (2/4)

Google AJAX Feed APIで、ホームページにRSSを表示する際、出力されるブログ名を別の名前に置換したいです。

if (entry.title.match(/.*PR:.*/mi) == null) とPRのついているタイトルを消去するように、
if文と、replaceなんかでいけそうな気がするのですが、記述の方法がわかりません。

置換例として。。。

もし、ブログ名(entry.blogName)が「私のブログ」ならば、「つれずれ日記」に置換する。
といった具合です。

どうぞ宜しくお願いいたします。

とりあえず、文字列の置換えに関してであれば、下記のサイトを見ると、replaceメソッドで可能でな感じなのですが、
http://www.syboos.jp/webjs/doc/string-replace-and-replaceall.html
http://yakinikunotare.boo.jp/orebase/index.php?Javascript%2FString.replace%A5%E1%A5%BD%A5%C3%A5%C9

下記のソースで、具体的には上のソースのどこにどういう風に記述するのかがわかりません。
いろいろ頑張ってはいるのですが、うまくいかず困ってます。

その辺のヒントをいただければありがたいのですが。

ソースは以下のとおりです。
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script type="text/javascript" src="http://www.google.com/jsapi?key=........."></script>
<script type="text/javascript">
<!--//
google.load("feeds", "1");
var entryArray = new Array();
var entryNum = 0;
function initialize() {
feedAdd("http://feedblog.ameba.jp/........../rss20.xml", 1);//取得したサイトのRSSフィードを入力。足りない場合は適宜4,5,6....と増やす
}
function feedAdd(rssUrl, boolNum) {
var feed = new google.feeds.Feed(rssUrl);
feed.setNumEntries(2);//サイト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", 10);//フィードの出力
}
});
}
function feedOutput(feedId, listNum){
var useFeed = "";
var useDate = "";
var container = document.getElementById(feedId);
entryArray = asort(entryArray, "sortDate");
if(listNum==10){//出力するリスト数
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;}
var h = date.getHours();
if (h < 10) {h = "0" + h;}
var mn = date.getMinutes();
if (mn < 10) {mn = "0" + mn;}
var s = date.getSeconds();
if (s < 10) {s = "0" + s;}
if (entry.title.match(/.*PR:.*/mi) == null)
{
useDate = y + "年" + m + "月" + d + "日";
useFeed += '<div style="float:left;width:150px;margin:0px 0px 0px 5px">'+ y + "月" + m + "日" + d + " [" + h + ':' + mn + "]" +'</div><div style="float: left;width:220px;height:18px;overflow:hidden;"><a href="' + entry.link + '" target="_blank" title="' + entry.title + '【' + entry.blogName + '】">' + entry.title + '</a> <img src="http://b.hatena.ne.jp/entry/image/large/' + entry.link + '"></div><div style="float:left;width:100px;height:13px;overflow:hidden;max-width:8em;padding:1px 0px 0px 0px;margin:1px 0px 0px 0px">' +"(投稿) "+ entry.blogName + '</div>...<br><hr size="1"/>';
  • 回答数1
  • 気になる数0

質問者が選んだベストアンサー

  • 回答No.1
レベル11

ベストアンサー率 72% (132/183)

変数hogeBlogNameにentry.blogNameの値を代入して、
replaceしたら、現在、表示指定でentry.blogNameになっている部分を、
hogeBlogNameに置き変えればいけると思います。

var hogeBlogName = entry.blogName;
hogeBlogName = hogeBlogName.replace(/私のブログ/, "つれずれ日記");
alert(hogeBlogName);
  • ありがとう数0
-PR-
-PR-
  • 回答数1
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ