Bloc-note d'un développeur web
Dans : Snippets
12 août 2009Voici une expression régulière pour capturer les tags HTML doubles1 sous JavaScript.
/<(\w+)((?:\s+\w+(?:\s*=\s*(?:"[\s\S]*?"|'[\s\S]*?'|[^'">\s]+))?)+\s*|\s*)>([\s\S]*?)<\/\1>/gi
Considérons la phrase « Testons une
La regex va capturer les éléments suivants :
RegExp.$0 = "<tag class="foobar">regex en Javascript</tag>". Le texte qui satisfait le masque complet.RegExp.$1 = "tag". Le nom de la balise HTML.RegExp.$2 = " class="foobar" title="un > dans l'attribut"". Les attributs.RegExp.$3 = "regex en Javascript". Le contenu englobé par les balises ouvrantes et fermantes.Il sera possible de traiter par la suite les attributs de l’élément.
Merci à Phil Haack pour cette expression régulière adaptée ici pour JavaScript2.
elle ne tient donc pas compte des balises comme <br/>, <img/> ou <hr/>. ↩
notamment pour la capture des retours à la ligne et des attributs. ↩
[…] http://pioupioum.fr/snippets/javascript-regex-capture-html-balise-contenu.html […]