Lavorare con le date in PHP pone in alcuni casi
particolari esigenze riguardanti la loro formattazione, il discorso si fà ancora pił interessante quando ci troviamo
davanti all'esigenza di dover estrarre delle date da un database.
Se, per esempio, ci rivolgiamo ad un pubblico
italiano, la formattazione che prevede la stampa a video delle date attraverso l'output "anno - mese - giorno"
(YYYY - MM - DD), non risulta essere particolarmente adatta nè immediatamente leggibile, dovremmo infatti preferire
l'output "giorno - mese -anno".
E' possibile utilizzare determinati accorgimenti grazie ai quali
presentare il contenuto dei nostri campi o i valori delle nostre variabili nella forma desiderata. Attraverso questo breve
articolo, analizzeremo l'azione della funzione "preg_replace()" nella formattazione delle stringhe/data.
"preg_replace()", tramite le espressioni regolari, ricerca in una o più stringhe i criteri indicati
nell'espressione regolare; quando identifica le stringhe interessate dalla ricerca le sostituisce con un sostituto
prestabilito.
Ecco un piccolo esempio:
<?La variabile "$data" ha come valore una data nel formato tipico dei "tipi" date. A "preg_replace()" vengono passati come parametri i criteri di ricerca (una stringa di 4 caratteri, una da 2, etc.), il "sostituto" nell'ordine desiderato (la variabile "$3" che identifica il giorno viene posta all'inizio della stringa etc.) e la variabile su cui la funzione dove operare ("$data"). Associamo l'effetto della funzione ad una nuova variabile ("$data2") in modo da poterla stampare a video e osservare il risultato del nostro picolo script.
$data = "2005-08-29";
$data2 = preg_replace('/^(.{4})-(.{2})-(.{2})$/','$3-$2-$1', $data);
echo $data2;
?>