|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : septembre 2006 Messages : 146 ![]() |
Bonjour,
Je cherche extraire le nom d'une balise avec des Regex, mais voilà, je débute en regex et c'est pas encore totalement limpide. Par exemple : <p> => p <div class="maclasse"> => div <a href="..." alt="..."> => a J'ai lu plusieurs tutoriaux sur les regex et j'ai un petit début : Ça ça devrait me prendre le nom de toutes les balises sans paramètres, mais il ignore mes "<" ">". Et après il faut encore spécifier de s'arrêter au premier espace. J'ai essayé toutes sortes de variantes mais rien n'y fait, help plz
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres... |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
Bonjour,
Tu as un bon début. Pour éviter d'avoir une liste de caractères trop important dans ton [], tu peux utiliser les modificateurs pàour rendre ta regex insensible à la casse J'utilise ¤ comme délimiteur car c'est un caractère que l'on ne rencontre pas souvent Ton expression fonctionne pour toutes les balises sans attributs. Pour une balise avec attribut ( <a href= ), il faut que tu prennes tous les caractères alphabétique, ce que tu as fait. Mais quand il va rencontre un espace il va s'arrêter, comme ce cas n'est pas prévu, ton pattern ne match pas. Pour cela il faut spécifier qu'après la sélection tu acceptes n'importe quel caractère sauf '>' qui ferme la balise Une version plus courte fonctionne mais est moins "démonstrative" Ces expressions sont bien évidemment destinés à preg_*
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : septembre 2006 Messages : 146 ![]() |
Alors si j'ai bien compris, c'est le i de fin qui indique qu'il faut être insensible à la casse : |blaBlA|i
Avec ce que t'a mis : [a-z>] : caractères a-z ainsi que la fermeture de la balise '>' => mais avec ça si je veut récupérer le nom de la balise il vas mettre un '>' avec non ? ce n'est pas le but... Ce qui me donne : Qui semble plutôt bien fonctionner Merci beaucoup
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres... |
|
|
00
|
|
|
#4 | |||
|
Membre émérite
![]() ![]() Inscription : novembre 2004 Messages : 735 ![]() |
[/quote]
Citation:
Citation:
Citation:
__________________
Pierre 1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune. 2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers 3. Un code rapide c'est bien, un code maintenable c'est mieux ... Why was the font tag an orphan ? Because it didn't have a font-family. |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com