Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 13/12/2012, 15h41   #1
jeyGey
Invité régulier
 
Inscription : novembre 2012
Messages : 123
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 123
Points : 8
Points : 8
Par défaut Regex (date + heure) dans une chaîne

Bonjour,

J'ai un petit soucis avec les regex, je n'arrive pas à récupérer par exemple:
13/12 à 12:00 dans une chaine quelconque.

Quelqu'un peut-il m'aider svp?

Merci.
jeyGey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 15h46   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
Montre nous ce que tu as fais, on pourra te corriger.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 15h48   #3
jeyGey
Invité régulier
 
Inscription : novembre 2012
Messages : 123
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 123
Points : 8
Points : 8
Code :
$match = preg_replace("^[0-9]{2,}[/][0-9]{2,}$", "", $var);
mais sa marche pas du tout .. (je voulais déjà récupérer la date pour voir si c'était bon)

et ma chaine par exemple sa peut-être:

[b ][ u ]Point du 13/12 à 07:58[ /u ] : [/b ] [ br][b ][u ]Point du 13/12 à

et je veux récupérer juste le premier qu'on trouve.
jeyGey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 15h57   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
C'est preg_match() si tu veux capturer quelque chose.
Ensuite une expression régulière commence et termine par un caractère délimiteur.

Code :
preg_match("#[0-9]{2}/[0-9]{2}#", $chaine, $match);
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 16h00   #5
jeyGey
Invité régulier
 
Inscription : novembre 2012
Messages : 123
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 123
Points : 8
Points : 8
ok merci pour ta réponse,
c'est quoi un un caractère délimiteur ? c'est le # ?
jeyGey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 16h14   #6
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 570
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 570
Points : 66 753
Points : 66 753


Délimiteurs
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 09h31   #7
jeyGey
Invité régulier
 
Inscription : novembre 2012
Messages : 123
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 123
Points : 8
Points : 8
Ok merci pour ton aide.

Je récupère bien la première date de chaque chaîne.

Du coup pour avoir par exemple la chaîne : "12/12 à 10:26"

je peux faire :

Code :
preg_match("#[0-9]{2}/[0-9]{2}^ à $[0-9]{2}:[0-9]{2}#", $chaine, $match);
C'est pas comme bon ?
jeyGey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 09h54   #8
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
Enlève ton ^
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 10h26   #9
jeyGey
Invité régulier
 
Inscription : novembre 2012
Messages : 123
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 123
Points : 8
Points : 8
J'ai une erreur :
Citation:
Undefined offset: 0
Au niveau ou j'affiche ma variable je fais un $match[0]
jeyGey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 11h12   #10
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 861
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 861
Points : 21 924
Points : 21 924
Enlève ton $ aussi je l'avais raté
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/12/2012, 11h23   #11
jeyGey
Invité régulier
 
Inscription : novembre 2012
Messages : 123
Détails du profil
Informations forums :
Inscription : novembre 2012
Messages : 123
Points : 8
Points : 8
Lol pas de soucis en tout merci sa marche trop bien !
jeyGey est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h37.


 
 
 
 
Partenaires

Hébergement Web