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>
Or sous IE on a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <span style="font-style: italic;"> mot en italique</span>
Code : Sélectionner tout - Visualiser dans une fenêtre à part <strong>mot en gras</strong>Donc dans un souci d'homogénéité je souhaite retransformer les balises span.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <em>mot en italique</em>
Sous firefox en mode editable, je sais qu'il y a également la commande :
qui permet de faire cette conversion mais elle restreint d'autres options que je voudrais utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.execCommand("styleWithCSS", null, false);
Donc j'ai pensé à une expression régulière du type :
Mais cela fonction uniquement si dans mon html il n'y a qu'une balise "span".
Code : Sélectionner tout - Visualiser dans une fenêtre à part html = html.replace(/<span style=\"font-weight: bold;\s*\">(.*?)<\/span>/gi,"<strong>$1</strong>");
donc en gros ça marche pour ça :
mais pas pour ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2mon texte en <span style="font-weight: bold;">gras</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.
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>
Partager