ユーザー入力のタグを実際のhtmlタグに置き換えるJavaScript RegExを作成しようとしています。したがって[b]
は<b>
になります。JavaScriptのRegExサブ処理を処理する
[b]hello[/b] [u]world[/u]
が、タグがネストされている場合:正規表現私は、これは例えば、単一のネストされたタグ、ため正常に動作しますので、
var exptags = /\[(b|u|i|s|center|code){1}]((.){1,}?)\[\/(\1){1}]/ig;
次のJavaScript
s.replace(exptags,"<$1>$2</$1>");
とのようなルックスを使用しています互いに内側には、外側のタグにのみ一致します。たとえば、
[b]foo [u]to the[/u] bar[/b]
これはb
タグにのみ一致します。どうすればこの問題を解決できますか?開始文字列が結果と同じになるまでループする必要がありますか?私は((.){1,}?)
pattenも間違っているという気持ちがありますか?
ありがとう
私は、誰もここにこれを残さなかった信じることができません。http://stackoverflow.com/a/1732454/20074 – Ken