J'essaye d'écrire du JavaScript RegEx pour remplacer les balises entrées par l'utilisateur avec de vraies balises html, donc [b]
deviendra <b>
et ainsi de suite. le RegEx J'utilise ressemble doncTraitement Javascript Submipps RegEx
var exptags = /\[(b|u|i|s|center|code){1}]((.){1,}?)\[\/(\1){1}]/ig;
avec les éléments suivants JavaScript
s.replace(exptags,"<$1>$2</$1>");
cela fonctionne très bien pour les balises imbriquées simples, par exemple:
[b]hello[/b] [u]world[/u]
mais si les balises sont imbriquées l'un dans l'autre, il ne correspondra qu'aux étiquettes extérieures, par exemple
[b]foo [u]to the[/u] bar[/b]
cela correspondra uniquement aux balises b
. Comment puis-je réparer cela? devrais-je simplement faire une boucle jusqu'à ce que la chaîne de départ soit la même que le résultat? J'ai l'impression que le ((.){1,}?)
patten est mal aussi?
Merci
Je ne peux pas croire que personne n'a quitté cette ici: http://stackoverflow.com/a/1732454/20074 – Ken