Editeur html en javascript - pbs de suppression des tag

cs_whiteknight Messages postés 19 Date d'inscription lundi 25 novembre 2002 Statut Membre Dernière intervention 11 septembre 2005 - 7 déc. 2002 à 17:50
sticky97 Messages postés 4 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003 - 14 janv. 2003 à 17:32
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

khone Messages postés 1 Date d'inscription vendredi 15 mars 2002 Statut Membre Dernière intervention 18 décembre 2002
18 déc. 2002 à 12:19
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
0
sticky97 Messages postés 4 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003
14 janv. 2003 à 17:32
-------------------------------
slt khone,
d'ou sort la variable "zonetexte", et kesss k'elle vaut??
0
Rejoignez-nous
A voir également