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 25/05/2007, 20h38   #1
Invité de passage
 
Inscription : mai 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 2
Points : 1
Points : 1
Par défaut Extraction du match le plus petit

Bonjour !
J'ai un petit soucis avec les expressions régulières en php.

Voici le code:

Code :
1
2
3
4
5
$reg_exp = '/\<a\>(.*)\<a\>/';
$chaine = '<a>jeveux<a>jeveuxpas<a>jeveuxpas<a>';
 
preg_match_all($reg_exp, $chaine, $matches);
print_r($matches);
Qui me renvoit :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
    [0] => Array
        (
            [0] => <a>jeveux<a>jeveuxpas<a>jeveuxpas<a>
        )
 
    [1] => Array
        (
            [0] => jeveux<a>jeveuxpas<a>jeveuxpas
        )
 
)
Au lieu de me renvoyer la plus longue chaîne qui match ma regexp, je souhaiterais qu'il me renvoit la plus petite. Est-ce possible ?
Redils est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2007, 22h10   #2
Invité de passage
 
Inscription : mai 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 2
Points : 1
Points : 1
Après moults recherche, j'ai trouvé Il faut passer le paramêtre U en option sur la chaine de recherche. Celle-ci fonctionne.

Code :
1
2
 
$reg_exp = '/\<a\>(.*)\<a\>/U'
Redils est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h30.


 
 
 
 
Partenaires

Hébergement Web