Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1050 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Supprimer les balises HTML d'une string en javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Supprimer les balises HTML d'une string en javascript

n°1808119
zezette
"Allez hop, au revoir"
Posté le 04-11-2008 à 13:49:10  profilanswer
 

Bonsoir à tous,
 
J'essaie de supprimer les balises HTML contenue dans une string :
 

Code :
  1. lecontenu="ma <b>chaine</b> pleine <i>de</i> de balises HTML";
  2. reg=new RegExp("<+.*>+", "gi" );
  3. lecontenu=lecontenu.replace(reg, "" );


 
Mais ça marche pas (faut dire que je comprend rien aux expressions régulières :))
 
Merci de votre aide :p


Message édité par zezette le 04-11-2008 à 13:50:27

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
mood
Publicité
Posté le 04-11-2008 à 13:49:10  profilanswer
 

n°1808246
ZeBix
edit &gt; preview
Posté le 04-11-2008 à 17:11:29  profilanswer
 

C'est normal que tu aies des problèmes car il va remplacer tout ce qui se trouve entre le premier < ouvrant, et le dernier > fermant.

 

en gros :  
ma <b>chaine</b> pleine <i>de</i> de balises HTML   : d'après ta regexp, entre les deux balises soulignées, tout disparaît.

 


Pour contrer ce problème tu dois lui dire que tout peut se trouver au sein des balises, sauf la balise fermante bien sûr ! :

 
Code :
  1. reg=new RegExp("<.[^>]*>", "gi" );
 


Et sinon, si as encore affaire aux regexp, je te conseille un site comme regular-expressions.info, ça contient toute l'info dont tu as besoin :)


Message édité par ZeBix le 04-11-2008 à 17:15:52
n°1808311
zezette
&#034;Allez hop, au revoir&#034;
Posté le 04-11-2008 à 19:08:58  profilanswer
 

génial, je teste ca demain :)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
n°1808415
zezette
&#034;Allez hop, au revoir&#034;
Posté le 05-11-2008 à 08:32:28  profilanswer
 

Ca marche ! Mais comme je suis difficile, je voudrais que si après < il y a un espace, on ne le rempalce pas (car ce n'est plus une balise, mais simplement un plus petit que :)
 
exemple : <strong>5</strong> < <i>10</i>
donne : 5 10
mais devrait donner : 5 < 10


Message édité par zezette le 05-11-2008 à 08:32:37

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
n°1808478
ZeBix
edit &gt; preview
Posté le 05-11-2008 à 10:56:24  profilanswer
 

Oh, ben tu inclus la balise ouvrante dans la classe d'exception :
 

Code :
  1. reg=new RegExp("<.[^<>]*>", "gi" );


(à tester cependant, je ne suis pas 100% sûr du résultat)
 
 
A noter cependant qu'il est préférable de "parser" un texte avant la publication et de remplacer les "plus petits" et "plus grands" qui ne sont pas des balises, par leur "entité html" , à savoir respectivement "&lt;" et "&gt;"

n°1808501
gatsu35
Blablaté par Harko
Posté le 05-11-2008 à 11:24:22  profilanswer
 

quel est l'intéret de supprimer le HTML d'une string ?
Si c'est parce que tu récupères le innerHTML d'un HTML element et que tu veux ne récupérer que le texte, il te suffit de récupérer seulement le innerText ou textContent (selon le navigateur)

Code :
  1. function getText(input) {
  2.    return input.innerText || input.textContent;
  3. }

n°1808573
zezette
&#034;Allez hop, au revoir&#034;
Posté le 05-11-2008 à 12:22:25  profilanswer
 

ZeBix a écrit :

Oh, ben tu inclus la balise ouvrante dans la classe d'exception :
 

Code :
  1. reg=new RegExp("<.[^<>]*>", "gi" );


(à tester cependant, je ne suis pas 100% sûr du résultat)
 
 
A noter cependant qu'il est préférable de "parser" un texte avant la publication et de remplacer les "plus petits" et "plus grands" qui ne sont pas des balises, par leur "entité html" , à savoir respectivement "&lt;" et "&gt;"


 
J'y croyais pas trop, mais ça marche !  
 
Merci bcp ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
n°1808704
ZeBix
edit &gt; preview
Posté le 05-11-2008 à 15:43:49  profilanswer
 

De rien :jap:

n°2087056
Lazthib
Posté le 04-07-2011 à 21:53:40  profilanswer
 

Voici une fonction JavaScript qui permet d'enlever les balises HTML d'une chaine :

Code :
  1. function strip_tags(html)
  2. {
  3. //PROCESS STRING
  4. if(arguments.length < 3) {
  5.  html=html.replace(/<\/?(?!\!)[^>]*>/gi, '');
  6. } else {
  7.  var allowed = arguments[1];
  8.  var specified = eval("["+arguments[2]+"]" );
  9.  if(allowed){
  10.   var regex='</?(?!(' + specified.join('|') + '))\b[^>]*>';
  11.   html=html.replace(new RegExp(regex, 'gi'), '');
  12.  } else{
  13.   var regex='</?(' + specified.join('|') + ')\b[^>]*>';
  14.   html=html.replace(new RegExp(regex, 'gi'), '');
  15.  }
  16. }
  17. //CHANGE NAME TO CLEAN JUST BECAUSE  
  18. var clean_string = html;
  19. //RETURN THE CLEAN STRING
  20. return clean_string;
  21. }


 
Source : http://www.stemkoski.com/what-is-j [...] trip_tags/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Supprimer les balises HTML d'une string en javascript

 

Sujets relatifs
Recuperer variable d'un select multiple via javascriptLien en HTML vers un dosiier web
pb d'ouverture de pdf depuis une page htmlUtiliser un .mov dans une page HTML
Est-il possible de recharger le contenu d'une page HTML ?sauter une ligne dans un tableau en html
Un swf encapsulé dans un swf lui même incorporé dans une page HTML ^^Signature Email Dynamique HTML / TexteBrute
[HTML/CSS/Javascript]Cherche Script interdire mot dans un formulaire 
Plus de sujets relatifs à : Supprimer les balises HTML d'une string en javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR