|
|
|
|
Salut !
Alors voila j'aimerais faire une fonction qui traduit du 'BBCode' en HTML.
Pour le faire j'ai une fonction de la forme :
function BBcodeTranslate(texte)
{
table = ["div","table","tr","td","span"];
for(i=0;i<length(table);i++)
{
texte = ;
regex = '/\['+table[i]+'\w\]';
texte=texte.replace(regex,"<"+table[i]+" "+texte+">");
}
}
Configuration: Windows XP Firefox 2.0.0.4
Bonjour,
regex = '/\['+table[i]+'( .*)\](.*)\[\/'+table[i]\]/';Explications : les parenthèses () permettent de mettre en mémoire le bloc en question, dans les variables RegExp.$1, RegExp.$2, etc. (dans l'ordre des parenthèses). Dans un replace, ces variables sont récupérables en mettant simplement $1, $2, ... Je précise quand même que j'ai écrit cette expression rationnelle sans la tester, donc il y aura peut-être quelques ajustements à faire, mais le principe est là. Donc, si tu as bien suivi, ton code devient : function BBcodeTranslate(texte)
{
table = ["div","table","tr","td","span"];
for(i=0;i<length(table);i++)
{
regex = '/\['+table[i]+'( .*)\](.*)\[\/'+table[i]\]/';
texte=texte.replace(regex, "<"+table[i]+"$1>$2</"+table[i]+">");
}
}
Voilà ! Xavier |