Expression réguliere - preg_match_all

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Expression réguliere - preg_match_all

Re: Expression réguliere - preg_match_all

par soycd » 20 oct. 2011, 06:36

Sachant que les éléments à extraire se situe entre ^ et ~, ton expression devrait donc être de la forme

Code : Tout sélectionner

#([^\^]+)~#
Ou encore avec une assertion positive

Code : Tout sélectionner

#[^\^]+(?=~)#

Expression réguliere - preg_match_all

par arh » 19 oct. 2011, 22:18

Salut à tous,
J'ai besoin d'une petite aide.
Je veux extraire les mots "Jony", "Smith" et "[email protected]" de cette ligne:
text^name1^Jony~text^secondname1^Smith~text^email1^[email protected]~
J'ai fait comme ça: preg_match_all ('/\^(.*?)\~/', $row['form'], $res);

Et j'obtiens ça pour le prénom: ^name1^Jony~
pour le nom: ^secondname1^Smith~
etc.

Il n'y a que le mot "text" qui disparait. Pourriez-vous me dire ce qui ne vas pas dans mon expression régulière?

Merci beaucoup