Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/10/2006, 11h48   #1
Invité de passage
 
Inscription : janvier 2005
Messages : 49
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 49
Points : 2
Points : 2
Par défaut questions sur regex

bonjour j'ai une question concernant un script de regex que j'ai pu trouvé sur le net.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
$html = '<strong>Texte en gras</strong><a href="salut.html">clique moi</a>';
 
preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);
 
foreach ($matches as $val) {
   echo "matched: " . $val[0] . "\n";
   echo "part 1: " . $val[1] . "\n";
   echo "part 2: " . $val[3] . "\n";
   echo "part 3: " . $val[4] . "\n\n";
}
ma question concerne donc la regex que je n'arrive pas à comprendre...
/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/

que veut dire ce que j'ai mis en rouge ?

merci de vos aides
zimotep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 12h05   #2
Rédacteur
 
Avatar de BrYs
 
Inscription : octobre 2002
Messages : 2 016
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2002
Messages : 2 016
Points : 2 038
Points : 2 038
ça veut dire différent de >

la tu échappes un / et tu récupère la deuxième capture. la capture est faite via des parenthèse.
En l'occurence, cela correspond à ça :

c'est plus clair ?
BrYs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 13h01   #3
Invité de passage
 
Inscription : janvier 2005
Messages : 49
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 49
Points : 2
Points : 2
bonjour et merci de ta réponse.
concernant la deuxieme occurence
le \\2 revient à faire ([\w]+) ???
zimotep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 14h23   #4
Rédacteur
 
Avatar de BrYs
 
Inscription : octobre 2002
Messages : 2 016
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2002
Messages : 2 016
Points : 2 038
Points : 2 038
Oui plus ou moins, en fait ça va te permettre de récupérer la même valeur que précendement.
BrYs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 14h28   #5
Invité de passage
 
Inscription : janvier 2005
Messages : 49
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 49
Points : 2
Points : 2
ha d'accord je ne connais pas ce moyen.
par contre, pour ma part je voudrais recuppérer l'identificateur d'une balise div.
en regex çà peut donner quoi ?
j'arrive pas a modifier ce regex qui concernent ce qui est placé entre 2 tags identiques, alors que moi je veux recupperer ce qu'il y a entre les deux balises ayant pour identificateur un id ="progr"
ex :
<div id="prog">
<span></span>
.......
</div>
zimotep est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h42.


 
 
 
 
Partenaires

Hébergement Web