JS - Expression régulière : supprimer des attributs de balises html

JS - Expression régulière : supprimer des attributs de balises html - HTML/CSS - Programmation

Marsh Posté le 20-03-2014 à 17:11:19    

Bonsoir à tous,
 
J'ai un champs textarea qui contient du code html.
 
Je voudrais, en javascript, nettoyer ce code de sorte à éliminer les attributs de balises HTML (en l'occurence, l'attribut class)
 
J'ai fait ça :  
 

Code :
  1. document.getElementById(lechamp).value=document.getElementById(lechamp).value.replace(/class=".*"+/g,'');


 
Ca marche a peu prés, mais il ne s'arrête pas au " fermant et elimine donc du texte mais s'arrete au guillement fermant suivant...
 
<p>blablabla <a href="#" class="truc">marcel</a> je suis un gitan <a href="#" class="machin">super</a> bla bla bla</p> devient <p>blablabla <a href="#" >super</a> bla bla bla</p>
 
J'ai alors essayé ça :
 

Code :
  1. document.getElementById(lechamp).value=document.getElementById(lechamp).value.replace(/class="*"+/g,'');


 
Il enlève bien class=" mais laisse la suite...
 
<p>blablabla <a href="#" class="truc">marcel</a> je suis un gitan <a href="#" class="machin">super</a> bla bla bla</p> devient <p>blablabla <a href="#" truc">marcel</a> je suis un gitan <a href="#" machin">super</a> bla bla bla</p>
 
 
Une idée ???


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 20-03-2014 à 17:11:19   

Reply

Marsh Posté le 21-03-2014 à 08:47:55    

Voici la réponse :
 
replace(/ class="[a-zA-Z0-9]+"/g,'');


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 21-03-2014 à 13:38:15    

La bonne réponse est:
replace(/ class="[^"]*"/g,'');
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 22-03-2014 à 11:21:39    

Suivant les cas, tu peux faire aussi : replace(/ class=".*?"/g,'');  
 
En fait, par défaut les multiplicateurs (+, *, {n,}, etc.) de regexp sont en mode glouton, tu peux demander à arrêter de capturer dès que possible en rajoutant un ? après le multiplicateur.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed