Editeur html en javascript - pbs de suppression des tag

Signaler
Messages postés
19
Date d'inscription
lundi 25 novembre 2002
Statut
Membre
Dernière intervention
11 septembre 2005
-
Messages postés
4
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
29 janvier 2003
-
Bonjour,

j'ai un pbs avec un code si kk'un pouvait me donne run coup de main cela
serait sympa ... voila mon pbs

je suis en train de réalisé un mini editeur html en javascript. Toutes mes
fonctions marchent sauf celles de suppression des tag html.

En gros, je peut ajouter un tag quelqu'on que gras,email,liens,italic etc ..
mais pas le supprimer.

mon principe d'ajout est simple ... (Note je prommage ceci sous Dreamweaverr
Mx , si ca peut poser un pbs kk part)

-> dans un fichier edditor.js

var texte;
var objet;

function applique(chaine)
{
// Applique un tag à la zone de texte sélectionné dans la zone editable ,
balise div
selectedRange.pasteHTML(chaine);
selectedRange.select();
}

function init()
{
// initialise le zine de texte editable
zonetexte.clear;
}

function formattage(type)
{
// selectionne le texte
texte=selectedRange.htmlText;
objet="<"+type+">" + texte + "</"+type+">";
// Recherche si le tag est déja présent
supprime_tag(zonetexte.innerHtml,objet,texte);
// Applique le formattage de type : type à la zone editable du document
applique(objet);
}

function police(font)
{
// selectionne le texte
texte=selectedRange.htmlText;
objet=""+ texte +"";
// applique une police à la sélection
applique(objet);
}

function taille(size)
{
// modifie la taille du texte selectionné
// selectionne le texte
texte=selectedRange.htmlText;
objet=""+texte+"";
applique(objet);
}

function colour(color)
{
// modifie la couleur du texte selectionné
// selectionne le texte
texte=selectedRange.htmlText;
objet=""+texte+"";
applique(objet);
}

....

Appel : formattage('B'); --> appliquera gras à la selection par exemple

jusqu'a la tous fonctionne, c'est donc ma fonction de suppression qui ne
marche pas !

voila ce que j'ai fait :

function supprime_tag(chaine,texte_rech,nouveau_texte)
{
// Declaration des variables locales
var replaceStr =nouveau_texte;
// Expression Reguliere, Case Sensitive Activé
var regexp = eval("/" + texte_rech + "/gi");
var existe=0;
// Recherche si le code existe
existe=chaine.search(regexp);
// si cela existe, on fait le remplacement
if (existe==1)
{
// on remplace
objet=chaine.replace(regexp, replaceStr);
// on applique le code
applique(objet);
}
}

Je ne comprends pas pkoi mais la fonction refuse de fonctionner ... si kk'un trouve ..
Voila, j'attends avec impatience vos conseil.
Merci d'avance

Whiteknight

2 réponses

Messages postés
1
Date d'inscription
vendredi 15 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2002

function formattage(type)
{
// selectionne le texte
texte = document.selection.createRange().text;
if (texte.length < 1) return;
type = type.toUpperCase();
var HTML = zonetexte.innerHTML;
var verif = new RegExp("<" + type + ">(" + texte + ")<\/" + type + ">");

if (verif.test(HTML))
{
zonetexte.innerHTML = HTML.replace(verif, "$1");
return;
}
objet = "<" + type + ">" + texte + "</" + type + ">";
applique(objet);
}

A priori ca fonctionne assez bien comme ça

Khône
Messages postés
4
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
29 janvier 2003

-------------------------------
slt khone,
d'ou sort la variable "zonetexte", et kesss k'elle vaut??