Bonjour,

Je réalise un petit éditeur de texte en javascript dans le même style que fck editor ou que tinyMCE.

Mais, j'ai un petit souci pour la redéfinition de certaines balises
par exemple pour le gras et l'italique.
Sous firefox ce la donne quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<span style="font-weight: bold;"> mot en gras </span>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<span style="font-style: italic;"> mot en italique</span>
Or sous IE on a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<strong>mot en gras</strong>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<em>mot en italique</em>
Donc dans un souci d'homogénéité je souhaite retransformer les balises span.
Sous firefox en mode editable, je sais qu'il y a également la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
document.execCommand("styleWithCSS", null, false);
qui permet de faire cette conversion mais elle restreint d'autres options que je voudrais utiliser.

Donc j'ai pensé à une expression régulière du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
html = html.replace(/<span style=\"font-weight: bold;\s*\">(.*?)<\/span>/gi,"<strong>$1</strong>");
Mais cela fonction uniquement si dans mon html il n'y a qu'une balise "span".

donc en gros ça marche pour ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mon texte en <span style="font-weight: bold;">gras</span>
mais pas pour ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
mon texte<span style="font-weight: bold;"> en gras<span style="font-style: italic;"> qui entoure</span> celui en italique</span>
En fait ce que je souhaiterai faire, c'est trouver une Regex (ou autre chose) qui permet de localiser les bonnes balises ouvrantes et fermantes pour pouvoir les remplacer.