2017-05-01 3 views
2

私はいくつかの文字を置き換える必要があるライブプレビューに取り組んでいます。私が*text*と入力すると、html:<span class="txt-bold">text</span>に置き換えられます。同じ文字で閉じる、他の置換

私のコードの最初の部分は成功したようですが、REGEXを修正して2番目のアスタリスクをSPANの終了タグに正しく置き換える方法がわかりません。

これは本当にばかげているかもしれませんが、私の研究では実際に解決策を見つけることができませんでした。

textarea_content = textarea_content.replace(/\*/g, '<span class="txt-bold">').replace(/\[\/*\]/g, '</span>'); 
+0

注:これを試してみてください。私はタイトルを変更し、それに応じて再度タグ付けしました。 –

答えて

2

あなたの問題は、最初の正規表現は、開口部<span>タグですべて*のインスタンスを置き換えますので、第二replace()呼び出しが何も一致しないということです。

よりよい解決策は、1つのRegexを使用してグループに一致させ、その置換を行うことです。このことについて何もjQueryを使って行うには何もしないことを

var foo = 'some dummy *text*'; 
 
var bar = foo.replace(/\*(.+)\*/g, '<span class="txt-bold">$1</span>'); 
 

 
console.log(bar);

+0

はい、これは良い方法です。ありがとう。これは確かに問題を解決しました。 – Synthiatic

関連する問題