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 15/05/2011, 14h50   #1
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
Par défaut Utilisation de preg_match_all()

Bonjour,

Voila un moment que je n'ai pas touche au php, j'aimerais creer une fonction regex qui me repertorie toutes les phrases d'une chaine de caractere contenant le mot "sur".

Voici mon code, la variable $matches est vide:
Code :
1
2
preg_match_all("/[A-Z].*(sur).*$\./", $donnees['content'], $matches);
print_r($matches);
Merci pour votre aide !
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 15h26   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
A-Z signifie toutes les lettres en majuscule.
$ signifie la fin de la chaine de caractère.

Je te propose
Code :
#([^\.]+sur[^\.]+\.)#iU"
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 15h53   #3
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
Bonjour et merci pour ton post,

Je veux récupérer les phrases contenant le mot "sur", une phrase commençant par une majuscule, le [A-Z] est il me semble justifie (pas le ^ ni le $ par contre effectivement, je réfléchissais en fonction de la phrase et non de la chaine de caractere), j'ai essaye ta regex et en ai écrit une autre en ajoutant les majuscule, et mon print_r() ne me print toujours pas la phrase qu'il aurait du matcher.

Code :
1
2
preg_match_all("#([A-Z]([^\.]*)+sur([^\.]*)+\.)#iU", $donnees['content'], $matches);
print_r($matches);
Resultat:
Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) )

Merci pour votre aide !
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 16h16   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Je te propose quelque chose, tu remodifies tout et tu viens me dire que ça ne fonctionne plus ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 16h21   #5
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
Citation:
Envoyé par student_ Voir le message
Bonjour et merci pour ton post,

Je veux récupérer les phrases contenant le mot "sur", une phrase commençant par une majuscule, le [A-Z] est il me semble justifie (pas le ^ ni le $ par contre effectivement, je réfléchissais en fonction de la phrase et non de la chaine de caractere), j'ai essaye ta regex et en ai écrit une autre en ajoutant les majuscule, et mon print_r() ne me print toujours pas la phrase qu'il aurait du matcher.
J'ai bien essaye ta solution et voila le resultat que j'ai eu:

Array ( [0] => Array ( ) [1] => Array ( ) )
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 16h25   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu peux me donner un texte avec lequel ça ne fonctionne pas ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 16h42   #7
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
Au tant pour moi j'avais oublie une accolade, ceci dit, cette regex prend tout mon paragraphe et non pas les phrases contenants le mot "sur".
student_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 16h54   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu peux me donner un texte avec lequel ça ne fonctionne pas ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 17h00   #9
Futur Membre du Club
 
Inscription : novembre 2009
Messages : 77
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 77
Points : 19
Points : 19
Bonjour à toutes et à tous,

Ce site est en construction et fait l'objet de multiples test, veuillez me contactez si vous repérez des anomalies. Ce projet verra le jour sur le long terme.


Au lieu de me sortir uniquement "Ce projet verra le jour sur le long terme." pour cet exemple, il me sort tout le paragraphe.

J'ai rectifie la regex et ca fonctionne, merci pour ton aide !
student_ 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 11h51.


 
 
 
 
Partenaires

Hébergement Web