18041 sujets
Questions générales et questions de débutants
Salut,
c'est quoi l'objectif derrière ?
A voir ta regexp cela semble être une ligne qui commence et fini par la balise. Il faut que ce soit des vrais balises HTML ou juste que ça ressemble à des balises ?
<a><b><c></c></b></a> (on doit detecter la balise c même si ça n'existe pas ?)
Il faut que cela détecte des paires de balises ? Ou chaque élément séparé peu importe que ce soit un début ou une fin de balise ?
Et tu veux obtenir la balise entière ou juste le nom de la balise (ou son contenu sans les chevrons ?)
En solution pour balise entière je dirais :
/(<.*?>)/g
Après cela ne va pas détecter si c'est des balises mal formé ou autre
c'est quoi l'objectif derrière ?
A voir ta regexp cela semble être une ligne qui commence et fini par la balise. Il faut que ce soit des vrais balises HTML ou juste que ça ressemble à des balises ?
<a><b><c></c></b></a> (on doit detecter la balise c même si ça n'existe pas ?)
Il faut que cela détecte des paires de balises ? Ou chaque élément séparé peu importe que ce soit un début ou une fin de balise ?
Et tu veux obtenir la balise entière ou juste le nom de la balise (ou son contenu sans les chevrons ?)
En solution pour balise entière je dirais :
/(<.*?>)/g
Après cela ne va pas détecter si c'est des balises mal formé ou autre
Bonjour,
L'expression `<([^>]+>` devrait être plus rapide que `<.*?>`, mais sinon c'est normalement à peu près équivalent il me semble.
Attention toutefois aux balises qui sont sur plusieurs lignes ! Ajouter les options s et/ou m si besoin.
A noter que les expressions régulières ne sont gélérament pas très adaptées pour traiter du HTML, en-dehors des cas simples du type supprimer toutes les balises, car le HTML tout comme le XML n'appartiennent pas aux langages dits réguliers.
En particulier les notions d'imbrication, de début et de fin de balises n'existent pas vraiment.
Pour les cas les plus complexes, il faudra utiliser autre chose de plus approprié: XPath, moteur DOM, XSLT, XQuery, etc. IL existe forcément des bibliothèques qui implémentent ça dans vos langages favoris.
L'expression `<([^>]+>` devrait être plus rapide que `<.*?>`, mais sinon c'est normalement à peu près équivalent il me semble.
Attention toutefois aux balises qui sont sur plusieurs lignes ! Ajouter les options s et/ou m si besoin.
A noter que les expressions régulières ne sont gélérament pas très adaptées pour traiter du HTML, en-dehors des cas simples du type supprimer toutes les balises, car le HTML tout comme le XML n'appartiennent pas aux langages dits réguliers.
En particulier les notions d'imbrication, de début et de fin de balises n'existent pas vraiment.
Pour les cas les plus complexes, il faudra utiliser autre chose de plus approprié: XPath, moteur DOM, XSLT, XQuery, etc. IL existe forcément des bibliothèques qui implémentent ça dans vos langages favoris.
Merci de vos contributions; je vais les étudier, avec intérêt et attention.
Soit le php :
Je veux que le title de la signature soit :
Bien entendu, je pourrais l'inscrire "en dur". Mais je voudrais comprendre quelle expression rationnelle me permettrait de détecter les balises, img, et celle qui est dans
Soit le php :
$signature = "développement<img src=\"$mabobine\" />".nommer( $auteur ) ;
Je veux que le title de la signature soit :
développement: Dagobert Leroy
Bien entendu, je pourrais l'inscrire "en dur". Mais je voudrais comprendre quelle expression rationnelle me permettrait de détecter les balises, img, et celle qui est dans
nommer( $auteur )
de même que toute balise xml.Salut,
si ta string correspond à un truc du genre :
alors la regex :
sélectionne bien
https://regexr.com/6jfmh
Pour taffer sur les regex j'utilise cet outil que je trouve merveilleux : https://regexr.com/
en dessous de ta regex tu peux mettre du texte libre pour tester plein de cas à la volée
encore en dessous tu as l'explication détaillée de ce que tu as écrit
et sur la gauche tu as toutes les explications / guides / regles / tips etc...
si ta string correspond à un truc du genre :
développement<img src="urlpath" />Dagobert Leroy
alors la regex :
<.*?>
sélectionne bien
<img src="urlpath" />
https://regexr.com/6jfmh
Pour taffer sur les regex j'utilise cet outil que je trouve merveilleux : https://regexr.com/
en dessous de ta regex tu peux mettre du texte libre pour tester plein de cas à la volée
encore en dessous tu as l'explication détaillée de ce que tu as écrit
et sur la gauche tu as toutes les explications / guides / regles / tips etc...
Je reprends ce fil, pour signaler aux polyglottes qui ont suivi mon questionnement sur les expressions régulières permettant de détecter les balises XML, que j'ai écrit en JS la fonction suivante :
Elle semble détaguer correctement.
Bonne soirée.
String.prototype._tag=function(){ return this.replace(/<[^>]*>/g,vide); }
Elle semble détaguer correctement.
Bonne soirée.