人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptで、あるサイトに含まれている、ある正規表現に一致する文字列を、一斉に別の文字列に置換したいのですが、どのように書けばいいでしょうか?

●質問者: pha
●カテゴリ:ウェブ制作
✍キーワード:JavaScript サイト 文字列 正規表現
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Cherenkov
●100ポイント ベストアンサー
var t = document.evaluate('//text()',document,null,7,null);
for(var i=0; i<t.snapshotLength; i++)
 t.snapshotItem(i).nodeValue = t.snapshotItem(i).nodeValue.replace(/twitter/gi, "ヒウィッヒヒー");

◎質問者からの返答

ありがとうございます。試してみたらできました。

ただ、予想通りに動かなかったところがあって、実は「ある文字列」を「<span class="hoge">ある文字列</span>>」という風にしてスタイルを変更したかったんです。

それだと上のやり方で、ある文字列を正規表現で、「(ある文字列)」→「<span class="hoge">$1</span>」という風に変換しても、spanタグはタグと見なされずにそのまま文字列で表示されるんですね。。。

ある文字列をhtmlタグでくくりたい場合はどうしたらいいのでしょうか。


2 ● HALSPECIAL
●20ポイント

置換した結果をinnerHTML にセットすれば良いかと思います。

innerHTMLでページの一部分を動的に書き換える

innerTextとinnerHTML

◎質問者からの返答

上のソースで

t.snapshotItem(i).innerHTML = t.snapshotItem(i).nodeValue.replace(/twitter/gi, "ヒウィッヒヒー");

と書き換えてみたのですが、うまく行きませんでした。どこか間違っているでしょうか。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ