変数に格納された文字列から任意の文字ついて<strong>タグを付けて置き換える方法
が分からなくて困っています
具体的に言うと
文字列stに対して変数keyに格納された文字列にマッチした全て強調する方法...
ex)
st="4月の16日の昼の弁当のおかず"
key="の"
の結果が
st="4月<strong>の</strong>16日<strong>の</strong>昼の弁当<strong>の</strong>おかず"
となるスクリプトを作成したいのです。
どなたかよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
正規表現オブジェクトと.replace()メソッドを利用すればよいと思います。
質問文の例を元に、実例を挙げます。
<script type="text/javascript"><!--
st="4月の16日の昼の弁当のおかず";
key="の";
regexp= new RegExp(key,"g");
st=st.replace(regexp,"<strong>"+key+"</"+"strong>");
//-->
</script>
簡単に解説すると、3行目でregexpという名前の正規表現オブジェクトを作成しています。 ここでは、検索対象文字列を変数keyに格納されている値とし、gオプションでマッチするすべての部分を対象にするようにしています。
その次の行で、変数stの中にある変数keyと一致する部分を正規表現オブジェクトを利用して探し出し、その部分をstrong要素で囲った表記に置き換えています。
RegExp()では、第1引数が検索対象文字列、第2引数が検索時のオプションになります。
.replace()メソッドでは、第1引数が検索対象文字列(正規表現も利用可)、第2引数が検索対象文字列の置換後の文字列になります。
一応、IE6、Netscape 7、Opera 6.05で動作確認してあります。
参考になれば幸いです。
No.3
- 回答日時:
となると
<HTML>
<HEAD>
<TITLE>(/_ _ )/♪へ(-。-へ)♪(/_ _ )/ウ</TITLE>
</HEAD>
<BODY>
<P><INPUT id=text1 name=text1 style="WIDTH: 257px; HEIGHT: 22px" size=33 value=4月の16日の昼の弁当のおかず></P>
<P><INPUT id=text2 name=text2 value=の></P>
<P></P>
<SCRIPT LANGUAGE=javascript>
<!--
var key = text2.value;
var r, ss;
var st = text1.value;
ss = st.split("の");
r="";
for(i=0;i<ss.length-1;i++){
if(ss[i]=="昼"){
r = r + ss[i] + key;
}else{
r = r + ss[i] + "<strong>" + key + "</strong>";
}
}
r = r + ss[i]
window.document.write(r);
//-->
</SCRIPT>
</BODY>
</HTML>
こんな感じはどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ワードプレスで太字が反映されません PC(MacBook)の画面上には、太字は反映されるのに、スマホ 3 2022/12/18 18:56
- 英語 theについて教えて下さい。 1 2022/04/12 14:00
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- 英語 Theの使うタイミングについて。 Theをつけるべき時とつけなくていい時の違いが曖昧です。 話し手と 3 2022/09/23 22:21
- 英語 提示表現の構造について 2 2022/12/01 10:40
- Java Java 南京錠 2 2023/02/04 11:46
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- 英語 To不定詞を教えてください 2 2022/08/08 16:06
- TOEFL・TOEIC・英語検定 英語の質問です Buttonholes that were strong enough to kee 3 2022/06/12 19:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
エクセル2010のvbaについて
-
javaScriptでグローバル変数に...
-
Webページ中の javascript をVB...
-
jquery か javascript で json ...
-
Shell.ApplicationでのIEオブ...
-
画面をダブリクリックしたカー...
-
イベントリスナーで読み込んだ...
-
【javascript】プロパティ?オ...
-
イベントリスナに登録される fu...
-
一定時間経つと画像を消す方法
-
JavaScriptの正規表現について
-
JSPの処理の途中で、JavaScript...
-
VB.NET2003 テキストボックスに...
-
ASP(VBS) ←→ JavaScript の変数...
-
ページを一回だけリロードさせ...
-
gas 全角数字を半角数字に変換
-
javascript:void(0)とは何でし...
-
if(1){...}とはどういうことで...
-
jsファイルを閲覧者がダウンロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
Webページ中の javascript をVB...
-
エクセル2010のvbaについて
-
画面間でのJavaScrip...
-
クラス デフォルトプロパティの...
-
evtとは
-
javaScriptでグローバル変数に...
-
PHPで定義した変数を引数として...
-
jquery か javascript で json ...
-
文字を移動させその位置を表示...
-
JavascriptのDOMについて
-
【javascript】プロパティ?オ...
-
for each for in
-
フォルダ内のファイル名を取得...
-
CSSのクラスを動的に変更 classで
-
イベントリスナに登録される fu...
-
jQueryで、listの要素数を取得...
-
javascript 親オブジェクトと子...
-
VBSを学ぶ前に、、、
-
Ajaxのプログラムをオブジェク...
おすすめ情報