alcune correzioni:
- un errore di sintassi
- l'assenza di data produceva la data odierna
- i non numeri producevano il numero zero che non deve esserci se nessuno l'ha scritto zero
codice:function C2Stext($valore){ // SICUREZZA // l'opzione Mysql_Escape_String attiva di deafult in PHP mette l'escape in automatico quando trova ' " NUL \ // per gli altri caratteri speciali li tolgo a mano $CaratteriSpeciali = array("%", "_", "*"); return str_replace($CaratteriSpeciali, "", $valore); } function C2Snumr($valore){ // FORMATTAZIONE NAZIONE: converte in formato PC switch($_COOKIE['Lin']){ case 'ita': $conversioni = array("." => "", "," => "."); $valore=strtr($valore, $conversioni); break; default: $conversioni = array("," => ""); $valore=strtr($valore, $conversioni); } // SICUREZZA: estrapola solo il numero preg_replace("/([\d\.]+)/e","\$risultato=$1;",$valore); // FORMATTAZIONE NATURA: converte stringa in numero decimale return ($risultato=="")?"":floatval($risultato); } function C2Sdata($valore){ // SICUREZZA e FORMATTAZIONE: estrapola solo la stringa "mm-gg-aaaa" (formato Sql) della data in qualunque modo sia scritta switch($_COOKIE['Lin']){ case 'ita': preg_replace("/(([\d]{1,2})\D([\d]{1,2})\D([\d]{2,4}))/e","\$risultato=\"$3-$2-$4\";",$valore); break; default: preg_replace("/(([\d]{1,2})\D([\d]{1,2})\D([\d]{2,4}))/e","\$risultato=\"$2-$3-$4\";",$valore); } return $risultato; } function S2Ctext($valore){ return stripslashes($valore); } function S2Cnumr($valore){ // FORMATTAZIONE NAZIONE switch($_COOKIE['Lin']){ case 'ita': $risultato=str_replace('.',',',$valore); break; default: $risultato=$valore; } return $risultato; } function S2Cdata($valore){ // FORMATTAZIONE NAZIONE switch($_COOKIE['Lin']){ case 'ita': $risultato= ($valore!="") ? date('d.m.y',strtotime($valore)) : ""; break; default: $risultato= ($valore!="") ? date('m.d.y',strtotime($valore)) : ""; } return $risultato; }

Rispondi quotando