Comment supprimer les balises HTML en JavaScript ?
Réponses rédigées par Antoine
Dernière mise à jour : 2018-04-07 13:18:05
Question
J'ai une chaine de caractères qui contient des balises HTML, comment puis-je supprimer ces balises HTML en JavaScript ?
<div class="toto" id="toto"><span>texte à conserver</span></div>
Réponse
Tu peux utiliser String.prototype.replace() pour supprimer des éléments et donc des balises HTML, d'une chaine de caractères, selon un modèle du type REGEX.
Dans l'exemple ci-dessous on utilise l'expression régulière suivante :
/<[^>]*>/g
Cette expression régulière identifie tous les caractères entre <
et >
, <
et >
inclus, une ou plusieurs fois.
On utilise ensuite la fonction replace() pour remplacer ce qu'a identifié l'expression régulière par une chaine vide :
str.replace(/<[^>]*>/g, '');
Voici ainsi le code complet qui reprend votre exemple :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script>
var exemple = '<div class="toto" id="toto"><span>texte à conserver</span></div>';
function cleanHTML(str)
{
if ((str===null) || (str===''))
{
return false;
}
else
{
str = str.toString();
return str.replace(/<[^>]*>/g, '');
}
}
document.write((cleanHTML(exemple)));
</script>
</body>
</html>