OVH Cloud OVH Cloud

Expressions regulieres

4 réponses
Avatar
stb
Bonjour,

ne pouvant pas installer les librairies nécessaires à la lecture des exifs,
je souhaite simplement récupérer la date contenue dans le fichier image à
l'aide des expressions régulières... le fichier est bien entendu en binaire,
mais la date apparait clairement (format : YYYY:MM:DD ) si j'affiche le
résultat de :

$contenu=file_get_contents($image);

et voici le code que j'utilise pour récupérer cette date :

if (ereg ("([0-9]{4}):([0-9]{2}):([0-9]{2})", $contenu, $regs)) {
echo $regs[3]."/".$regs[2]."/".$regs[1];
}

Apparement tout ça ne fonctionne pas, pouvez-vous m'expliquer pourquoi ?

Merci d'avance,
Stef

4 réponses

Avatar
Marc Quinton
tu peux regarder les commentaires sur cette page. Les extrations exifs
sont implementés en php.

http://fr.php.net/manual/en/function.exif-read-data.php
Avatar
bruno
heu... t sur que les parenthese sont utilse, et pourquoi tu met pas les
":" entre corchet?

si c'est des caracters speciaux (ou qquchose du genre, je sait pas) il
faut les echapper : ":"
et pour les chaines de caractere, c'est pas des {} qu'il faut?? :))

donc : [0-9]{4}[:][0-9]{2}[:][0-9]{2}

et echo $reg{6} . $reg{7} . $reg{8} . $reg{9} ."/" ....
Avatar
stb
"Marc Quinton" a écrit dans le message de news:
42f756b5$0$32363$
tu peux regarder les commentaires sur cette page. Les extrations exifs
sont implementés en php.

http://fr.php.net/manual/en/function.exif-read-data.php


Merci pour ton aide, j'ai d'abord cru que tu m'envoyais vers la doc des
fonctions exifs, mais en lisant les commentaires j'ai trouvé des solutions
pour s'en passer...

a+
Stef

Avatar
Marc Quinton
stb wrote:

if (ereg ("([0-9]{4}):([0-9]{2}):([0-9]{2})", $contenu, $regs)) {
echo $regs[3]."/".$regs[2]."/".$regs[1];
}

Apparement tout ça ne fonctionne pas, pouvez-vous m'expliquer pourquoi ?


quand une expression reguliere ne fonctionne pas, je la simplifie,
je la rends plus gourmande, jusqu'a ce qu'elle "attrape" ce que
je souhaite.

Puis je rafine jusqu'a l'objectif a atteindre.

Une idée, dans ton cas, sera de mettre un simple fichier textuel
avec la chaine attendue et de proceder a des essais.