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)