juin
14

preg_match VS preg_replace

par , dans PHP |

Après lecture d’un titre comme celui là il est normal de se demander ce qu’on peut comparer entre preg_match et preg_replace. En effet, ces deux fonctions PHP n’ont pas le même but : preg_match test si une chaîne de caractères réponds à un modèle (ou pattern) alors que preg_replace remplace le modèle trouvé par une autre valeur.

La question que je me suis posé est la suivante : Est-il plus intéressant d’utiliser preg_match ou preg_replace pour convertir une date MySQL en format Français ?

(2009-12-13 01:45:00 => 13/12/1988 01:45:00)

Résultat

J’ai développé dans mon laboratoire personnel une toute petite application qui m’a permis d’établir s’il était plus rapide d’utiliser une fonction ou l’autre. Le temps d’exécution de preg_raplace en bleu et celui de preg_match en jaune.

replace en bleu et match en jaune

Mes tests


$datetime = '2009-12-13 01:45:00';
$datetimefr_replace = preg_replace(
 '#^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$#',
 '$3/$2/$1 $4:$5:$6',
 $datetime
 );
preg_match(
 '#^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$#',
 $datetime,
 $out
 );
 $datetimefr_match = $out[3].'/'.$out[2].'/'.$out[1].' '.$out[4].':'.$out[5].':'.$out[6];


Si vous voulez vous aussi effectuer ce test, vous trouver ici les tests que j’ai effectué dans le laboratoire. Vous remarquerez que j’ai utilisé deux librairies externes : JPGraph et Un timer perso en PHP.

Test en ligne

Vous pouvez aussi le tester directement sur internet.

Tag: , , , , , ,
Vous avez aimé, alors partagez
Lire le Flux RSS Partager sur Facebook NetVibes del.icio.us

Laissez un commentaire

© Copyright Bloc-note de développeurs 2009-2012. All rights reserved.