guarda, stavo diventando matto!! ti spiego ora dov'era il problema; praticamente, quelle istruzioni stavano dentro ad un ciclo:
codice:
foreach ($__s as $__k=>$__v){
  $__s[$__k]=mysql_escape_string($__v);
  //  echo "
\n{$__v}
\n";
  if(preg_match("/^(0[1-9]|[12]\d|3[01])[\/](1[0-2]|0[1-9])[\/]((19|20)\d{2})$/",$__v)){
    list($__d,$__m,$__y)=explode("/",$__v);
    $__s[$__k]="{$__y}-{$__m}-{$__d}";
  }
}
e cosė funziona, mentre se (come facevo prima) al posto di $__s[$__k]= metto $__v= non funziona pių, non dovrebbe essere la stessa cosa? :master:

c'ho messo mezz'ora prima di dire "fammi provare a far cosė, si sa mai..."