Je ne suis pas très doué pour les expressions... J'ai regardé quelques tutoriels en ligne, mais je n'y arrive toujours pas. En gros, j'essaie de renvoyer TRUE
si une chaîne est formatée comme ceci :
4 chiffres + espace + 2 chiffres et le convertir en date.
Ainsi, la chaîne de caractères ressemblera à : 2010 02
et j'essaie de produire February, 2010
.
J'essaie d'utiliser preg_match
mais je continue à obtenir
{ n'est pas un modificateur...
EDITAR
Selon les deux premières réponses, je l'ai modifié, mais j'obtiens une erreur fatale sur la première et la même erreur de modificateur inconnu sur la seconde :
if (preg_match('/([0-9{4}]) ([0-9]{2})/iU', $path_part)) {
$path_title = date("F, Y",strtotime(str_replace(" ", "-", $path_title)));
}
De plus, je viens d'essayer la version plus approfondie de la première réponse, et bien que l'erreur disparaisse, cela ne change pas la sortie :
$path_part = '2010 02';
if (preg_match('/^(\d{4}) (\d{2})$/', $path_part, $matches)) {
$path_title = $mon[(int)$matches[2]] . " " . $matches[1]; // prints Feb 2010
}