プロが教えるわが家の防犯対策術!

BODY内の全要素を参照して、特定文字列を置換するスクリプトを教えてください。
具体的に言うと、ブログなどで既に投稿済みの各記事などに必ずと言っていいほど入力している「■」を「◇」に替えたいのです。
いろいろ検索してみましたが、replace()かな?
と言う程度は探れても、そこから先に進めない知識しかございません。
どうぞよろしくお願い申し上げます。

A 回答 (3件)

こんな感じです。

これでお望みの動きをすると思います。

<html>
<script langage="javaScript">
function func(){
document.body.innerHTML = document.body.innerHTML.split('■').join('◇');
}
</script>
<body onLoad="func()">
■■■■■◇◇◇◇◇<br>
</body>
</html>
    • good
    • 0
この回答へのお礼

おぉ!なるほど!こう記述するのですね!
window.onload=func; ←もアリですね。w

勉強になりました。ありがとうございます。

お礼日時:2004/08/21 21:50

すいません。

ソースをスクリプトで編集したいのかと勘違いしていました。失礼しました。
で、HTMLソース自体を変更することはできませんが、ブラウザ上での表示のみ変更させるということでしたら、
下記のスクリプトで可能です。

document.body.innerHTML = document.body.innerHTML.split('■').join('◇');

対象ぺージのonLoad時にでも実行させればお望み事ができると思います。
    • good
    • 0
この回答へのお礼

>ソースをスクリプトで編集・・・
はい。正直なところ↑が出来れば最高なのですがネ。

こちらも言葉足らずで申し訳ございませんでした。

光明が見えたところでもう少しお付き合い下さいませ。
上記のコード(と言えばいいのでしょうか)を
どのように記述すれば<お望みの事>が出来ますでしょうか。
何から何までお手数掛けて申し訳ございません・・。
単に、
<script type='text/JavaScript'>
<!--
document.body.innerHTML = document.body.innerHTML.split('■').join('◇');
// -->
</script>
↑これで動く・・のではないよねぇ・・^^;

お礼日時:2004/08/21 18:13

こんばんわ。


HTMLソースに書き込まれている「全要素を参照して、特定文字列を置換する」事は、JavaScriptでは不可能です。
replace()関数は、フォームに入力された内容や、文字列変数の内容についてなら置換する事ができます。
ですので、ご希望のことをするには、PHP、perlなどのCGIを用いて実現するのが一般的だと思います。
    • good
    • 0
この回答へのお礼

早々のご対応ありがとうございます。
>replace()関数は、フォームに入力された内容や、文字列変数の内容についてなら置換する事ができます。
なるほど・・。それでサンプルどれもinputやformが付いて回っていたワケですね。納得しました。

ところで、過去記事に・・
http://oshiete1.goo.ne.jp/kotaeru.php3?q=800141
↑このような事例がございましたが、これは今回利用できないのでしょうか・・。

>JavaScriptでは不可能
と言われつつ、しつこいようで申し訳ございません。(笑

それとか・・。
JavaScript:document.body.innerHTML=document.body.innerHTML.replace(/■/g,'◇');focus();
↑をJS外部ファイルにする方法とかございませんでしょうか。。

お礼日時:2004/08/21 07:45

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