Récupération d'une chaine caractère entre balises HTML

[Résolu/Fermé]
Signaler
Messages postés
51
Date d'inscription
samedi 2 mars 2013
Statut
Membre
Dernière intervention
28 mai 2013
-
Messages postés
51
Date d'inscription
samedi 2 mars 2013
Statut
Membre
Dernière intervention
28 mai 2013
-
Bonjour,

Voilà j'ai un td avec un contenteditable et je voudrais récupérer la variable qu'il y a dedans. Mais attention si l'utilisateur y place des <br/> ou autre avant ou après le texte peu importe le nombre je veux les enlever.

Voilà je cherche depuis un petit moment en essayant des algo à base de indexOf, lastIndexOf et substr mais rien ne fonctionne dans tous les cas.

Les expressions peuvent donc être du genre :
- ladonnée
- <br/>ladonnée
- <br/>ladonnée<br/><br/><br/>
- <br/><br/><br/>ladonnée<br/><br/><br/><br/><br/><br/>

Enfin voilà tout est a peu près possible rien comme pas mal de br et j'avoue que la je ne m'en sors pas donc si vous avez une idée d'algo ou même une FONCTION javascript qui fait ca et que je ne connais pas, je prends !

Merci d'avance à tous

2 réponses

str_replace ('<br/>', '', $tachaine);

Mais si tu veux te débarrasser de tout les caractères HMTL utilise plutôt htmlspecialchars($tachaine); ou htmlentities($tachaine);
Messages postés
51
Date d'inscription
samedi 2 mars 2013
Statut
Membre
Dernière intervention
28 mai 2013
2
htmlentities et specialchar sont des fonctions JS aussi car je ne les connaissais que en PHP ? Si elles existe ça serait pas mal en effet.

Ensuite j'ai un peu simplifié le problème ya pas que des br ya aussi des <span> et plein de trucs entre balise que je ne peux pas prévoir car si l'utilisateur tape en italique par exemple il va me faire pop un balise italique :s , donc je ne sais pas si str_replace serait adapté?

En attendant j'ai eu une idée en prenant une petite pause café et ça a donné ça, on dirait que ça fonctionne :
while(data.indexOf('<')!=-1)
{
indexdebut=data.indexOf('<');
indexfin=data.indexOf('>')+1;
data1=data.substr(0,indexdebut);
alert(data1);
data2=data.substr(indexfin,data.length);
alert(data2);
data=data1+data2;
}


Ca prends à chaque fois les balises puis ce qu'il y a avant et après et ça les réassocie, du coup à la fin ca réassocie seulement le truc qu'était pas entre balises
Désolé je n'avais pas compris que tu voulais une fonction en javascript. Ca ne sert à rien de réinventer la roue.

data.replace('<br />', '')
Cliqué trop vite sur envoyé.

Pour supprimer toute les balises utilise les expressions régulières

data.replace(/<.*>/g, '');

Pas testé, et je ne suis jamais sur sur la syntaxe exact, essaye de te renseigner un peu sur les expression régulière si il y a des fautes. Pas auprès de moi je ne suis malheuresement pas assez bon à ce sujet.
Messages postés
51
Date d'inscription
samedi 2 mars 2013
Statut
Membre
Dernière intervention
28 mai 2013
2
Ok je vais chercher de ce côté là merci beaucoup !