Aggiornata la funzione date_it() di traduzione della data. In questa versione sono stati corretti alcuni errori che mi erano stati fatti presenti nei commenti alla versione precedente.

Ora la funzione non ripete continuamente i controlli su ogni giorno se è già stato trovato il giorno da tradurre e il matching delle stringhe è più accurato, in modo da non tradurre Mondey in Lunday cosa che invece prima avveniva.


<?php

    // PHP function date_it();
    //
    // Author Diavolo_Rosso
    // Version 2.0
    // Writed 8 April 2007
    // Updated 23 September 2007

    function date_it($format$ts null) {    
        
        if ($ts == null$ts time();
        $data date($format$ts);
        
        // Giorni della settimana contratti
        if (eregi('Mon[^d]'$data)) {
            $data eregi_replace('Mon''Lun'$data);
        } elseif (eregi('Tue[^s]'$data)) {
            $data eregi_replace('Tue''Mar'$data);
        } elseif (eregi('Wed[^n]'$data)) {
            $data eregi_replace('Wed''Mer'$data);
        } elseif (eregi('Thu[^r]'$data)) {
            $data eregi_replace('Thu''Gio'$data);
        } elseif (eregi('Fri[^d]'$data)) {
            $data eregi_replace('Fri''Ven'$data);
        } elseif (eregi('Sat[^u]'$data)) {
            $data eregi_replace('Sat''Sab'$data);
        } elseif (eregi('Sun[^d]'$data)) {
            $data eregi_replace('Sun''Dom'$data);
        }
        
        // Giorni della settimana estesi
        if (eregi('Monday'$data)) {
            $data eregi_replace('Monday''Lunedi'$data);
        } elseif (eregi('Tuesday'$data)) {
            $data eregi_replace('Tuesday''Martedi'$data);
        } elseif (eregi('Wednesday'$data)) {
            $data eregi_replace('Wednesday''Mercoledi'$data);
        } elseif (eregi('Thursday'$data)) {
            $data eregi_replace('Thursday''Giovedi'$data);
        } elseif (eregi('Friday'$data)) {
            $data eregi_replace('Friday''Venerdi'$data);
        } elseif (eregi('Saturday'$data)) {
            $data eregi_replace('Saturday''Sabato'$data);
        } elseif (eregi('Sunday'$data)) {
            $data eregi_replace('Sunday''Domenica'$data);
        }
        
        // Mesi contratti
        if (eregi('Jan[^u]'$data)) {
            $data eregi_replace('Jan''Gen'$data);
        } elseif (eregi('May'$data)) {
            if (eregi('M'$format)) {
                $data eregi_replace('May''Mag'$data);
            }
        } elseif (eregi('Jun[^e]'$data)) {
            $data eregi_replace('Jun''Giu'$data);
        } elseif (eregi('Jul[^y]'$data)) {
            $data eregi_replace('Jul''Lug'$data);
        } elseif (eregi('Aug[^u]'$data)) {
            $data eregi_replace('Aug''Ago'$data);
        } elseif (eregi('Sep[^t]'$data)) {
            $data eregi_replace('Sep''Set'$data);
        } elseif (eregi('Oct[^o]'$data)) {
            $data eregi_replace('Oct''Ott'$data);
        } elseif (eregi('Dec[^e]'$data)) {
            $data eregi_replace('Dec''Dic'$data);
        }
        
        // Mesi estesi
        if (eregi('January'$data)) {
            $data eregi_replace('January''Gennaio'$data);
        } elseif (eregi('February'$data)) {
            $data eregi_replace('February''Febbraio'$data);
        } elseif (eregi('March'$data)) {
            $data eregi_replace('March''Marzo'$data);
        } elseif (eregi('April'$data)) {
            $data eregi_replace('April''Aprile'$data);
        } elseif (eregi('May'$data)) {
            if (eregi('F'$format)) {
                $data eregi_replace('May''Maggio'$data);
            }
        } elseif (eregi('June'$data)) {
            $data eregi_replace('June''Giugno'$data);
        } elseif (eregi('July'$data)) {
            $data eregi_replace('July''Luglio'$data);
        } elseif (eregi('August'$data)) {
            $data eregi_replace('August''Agosto'$data);
        } elseif (eregi('September'$data)) {
            $data eregi_replace('September''Settembre'$data);
        } elseif (eregi('October'$data)) {
            $data eregi_replace('October''Ottobre'$data);
        } elseif (eregi('November'$data)) {
            $data eregi_replace('November''Novembre'$data);
        } elseif (eregi('December'$data)) {
            $data eregi_replace('December''Dicembre'$data);
        }
        
        return $data;
    }

?>