Bonjour à tous,

J'aimerais transformer cette phrase "une phrase en gras une phrase en italic" dont le code ressemble à ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<span style="font-weight: bold;">une phrase en gras</span> <span style="font-style: italic;">une
phrase en italic</span>
en ceci: [b ]une phrase en gras[/b ] [i ]une phrase en italic\[/i ]

pour ce faire, j'utilise cette fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
function remplace_tag(from,to,text) {
text=new String(text);
return text.replace(from,to);
}
 
function html_to_code(text) {
style=remplace_tag(/<(span|font|div) style="(.+)">(.+)</(span|font|div)>/g,'$2',text)
txt=remplace_tag(/<(span|font|div)>(.+)</(span|font|div)>/g,'$2',text)
 
if(/font-weight: bold;/g.exec(style)){
 txt="[b ]"+txt+"[/b ]";
}
if(/font-style: italic;/g.exec(style)){
 txt="[i ]"+txt+"[/i ]";
}
return txt
}
Lorsque j'effectue la démarche, le résultat obtenu est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
[i ][b ]<span style="font-weight: bold;">une phrase en gras</span> <span style="font-style: italic;">une phrase en italic</span>[/b ][/i ]
Quelqu'un pourrait me dire où est mon erreur?

merci



Edit: simplification de l'erreur.

cette phrase une phrase en gras une phrase en gras

avec comme code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<b>une phrase en gras</b> <b>une phrase en gras</b>
et la fonction de traitement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function remplace_tag(from,to,text) {
text=new String(text);
return text.replace(from,to);
}

function html_to_code(text) {
txt=remplace_tag(/\<b\>(.+)\<\/b\>/g,'$1',text)
return txt
}
donne: [b ]une phrase en gras</b> <b>une phrase en gras[/b ]


nb: j'ai mis des espaces [b ] pour que l'on puisse voir les balises bbcode