Bonjour,
Merci de ces réponses.
Voici du coup ce que j'ai fait.
Je prends tout ce qui peut ressembler aux formats possibles grâce à ma regex.
Je teste ensuite les 3 champs pour voir ce que j'ai.
Si j'ai un doute sur le format je teste plusieurs.
Ensuite je teste si la date existe.
Je vous met ma regex si cela peut vous intéresser.
Code:
1 2 3 4 5 6 7
|
$patterns = '#\b[0-9]{1,4}[./-][0-1]?[0-9][./-][0-3]?[0-9]\b|';
$patterns .= '\b[0-9]{1,4}[./-][0-3]?[0-9][./-][0-1]?[0-9]\b|';
$patterns .= '\b[0-1]?[0-9][./-][0-9]{1,4}[./-][0-3]?[0-9]\b|';
$patterns .= '\b[0-3]?[0-9][./-][0-9]{1,4}[./-][0-1]?[0-9]\b|';
$patterns .= '\b[0-1]?[0-9][./-][0-3]?[0-9][./-][0-9]{1,4}\b|';
$patterns .= '\b[0-3]?[0-9][./-][0-1]?[0-9][./-][0-9]{1,4}\b#'; |
Je mets en résolu pour l'instant car je ne pense pas pouvoir faire mieux.