Jörg Reinholz: Korrektur

Beitrag lesen

Ersetze also

if ( preg_match('/[^A-Za-z0-9-.]/', $string) ) {  
       $flag=0;  
}

mit sowas:

if ( preg_match('/[^A-Za-z0-9-.]/', $string) ) {  
       require_once 'idna_convert.class.php';             # Nur laden bei Bedarf  
       if ! isset($IDN) { $IDN = new idna_convert(); }    # also auch Objekt nur bei Bedarf  
  
       $decoded_string = $IDN->decode($string);  
       if ( preg_match('/[^A-Za-z0-9-.]/', $decoded_string) ) {  
              $flag=0;  
       }  
}  

(Ungetestet)