2012-04-19 5 views
0

に特殊文字を交換すると、それは私が

if (html.indexOf('$txt$') > -1) { 
    html = html.replace(/$txt$/ig, '<input type=text></input>'); 
} 

を試みたものだが、それは置き換えることはありません文字列

内のすべての出現を置き換えたいです私の間違いは何ですか?私を助けてください。

答えて

8

正規表現では意味があるので、$記号をエスケープするだけでいいです。

html = html.replace(/\$txt\$/ig, '<input type="text" />'); 

にそれを変更し、それがうまく:)

編集する必要があります:$は正規表現で行の終わりを意味:)

+0

おかげDanie.Works罰金 – Satheesh

0

のhtml = html.replace(/ [$] TXT [ $]/ig、 '');

0

regular expressionsを使用して置き換えます。$は、行末の正規表現の予約文字です。 speialをエスケープするために使用されているもの、バックスラッシュだ

if (html.indexOf('$txt$') > -1) { 
    html = html.replace(/\$txt\$/ig, '<input type=text></input>'); 
} 
+0

:あなたは、そのリテラル文字を打つようにするバックスラッシュ\とそれに先行することにより、$をエスケープする必要が

キャラクター。 –

+0

絶対に正しい、Dan - edited :) – Barney

関連する問題