replace() avec une variable : et les flags ?
Posté : 02 avr. 2007, 12:48
Bonjour à tous,
Ayant beaucoup d'éléments à remplacer, je souhaite utiliser la fonction replace() avec des variables. J'ai utilisé un tableau, et une boucle pour que celui soit reconnu comme une variable (les tableaux ne fonctionnent pas).
J'ai le code suivant :
Le problème, c'est que avec une variable en premier argument, je ne peux pas mettre les flags g et i, pour que la casse ne soit pas prise en compte et que le remplacement s'effectue à chaque occurrence (actuellement, pour plusieurs smileys identiques, seul le premier est remplacé par son image correspondante).
Auriez-vous une idée de comment faire ?
Merci beaucoup
Ayant beaucoup d'éléments à remplacer, je souhaite utiliser la fonction replace() avec des variables. J'ai utilisé un tableau, et une boucle pour que celui soit reconnu comme une variable (les tableaux ne fonctionnent pas).
J'ai le code suivant :
Code : Tout sélectionner
function convertTags(myString)
{
var brut = new Array("[B]", "[/B]", "[I]", "[/I]", "[U]", "[/U]", "[S]", "[/S]", "[b]", "[/b]", "[i]", "[/i]", "[u]", "[/u]", "[s]", "[/s]");
var remplacement = new Array("<b>", "</b>", "<i>", "</i>", "<u>", "</u>", "<s>", "</s>", "<b>", "</b>", "<i>", "</i>", "<u>", "</u>", "<s>", "</s>");
var smileysbrut = new Array(';)',':)',':(',':p',':d',":\'(",':o',':*',':!',':c','8-)','0-)',':x',":\$",':ambivalent:',':angry:',':arg:',':fou:',':grin:',':heart:',':naughty:',':nerd:',':sarcastic:',':sick:',':yuck:',':yum:',':thumbsdown:',':thumbsup:');
var smileysremplacement = new Array('wink.gif','smile.gif','sad.gif','razz.gif','laugh.gif','larmes.gif','shocked.gif','kiss.gif','gaffe.gif','confused.gif','cool.gif','innocent.gif','sealed.gif','moneymouth.gif','2ambivalent.png','2angry.png','2confused.png','2crazy.png','2grin.png','2heart.png','2naughty.png','2nerd.png','2sarcastic.png','2sick.png','2yuck.png','2yum.png','2thumbsdown.png','2thumbsup.png');
t = remplacement.length;
u = smileysremplacement.length;
j = 0;
while(j<t)
{
var bru = brut[j];
var rep = remplacement[j];
myString = myString.replace(bru, rep);
j++;
}
k = 0;
while(k<u)
{
var sbru = smileysbrut[k];
var srep = smileysremplacement[k];
myString = myString.replace(sbru, "<img src=\"/images/smileys/" + srep + "\">");
k++;
}
Auriez-vous une idée de comment faire ?
Merci beaucoup