アプリ版:「スタンプのみでお礼する」機能のリリースについて

文字列置換

htmlのbody内のタグではない(画面に表示される)特定の文字列を別の文字列に置き換えるコードはどう書けばいいのでしょうか?

A 回答 (2件)

こんな感じ?


(全角空白は半角に)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
<!--
window.onload = function(){ change("aaa", "ABA"); }

function change(string1, string2) {
 var elm = document.getElementsByTagName("body")[0];
 checker(elm, function(node) {
  node.nodeValue = node.nodeValue.split(string1).join(string2);
 });
//alert(elm.innerHTML);
 elm = null;
}

function checker(r, func) {
 var tmp, n = r.firstChild;
 while (n) {
  if ( n.nodeType == 3) func(n);
  if (tmp = n.firstChild) {
   n = tmp;
  } else {
   do {
    if (n === r) { n = null; break; }
    if (tmp = n.nextSibling) { n = tmp; break; }
   } while(n = n.parentNode)
  }
 }
}
//-->
</script>
</head>

<body>
<div class="aaa" id="aaa">testaaatest
<span class="aaa">
確かめてaaaみる
ためのaaaテスト文aaa
</span>
aaatestaaatest
</div>
</body>
</html>
    • good
    • 0

考え方としては


<html>
<head>
<script type="text/javascript">
function okikae(keyword) {
var doc = document.getElementsByTagName("body")[0];
doc.innerHTML=doc.innerHTML.replace(new RegExp( keyword, "gi" ),'おきかえっ');
}
</script>
</head>
<body>
おきあいうえおき
<input type="button" value="おきかえ" onClick="okikae('おき')">
おきあいうえおき
</body>
</html>
こんな感じね。
ただ、これだとタグを無視していないので
DOMを使って文字列を取り出してやらないといけないと思うわよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!