Noch ein Geheimtipp:
Nachdem Du vermutliche Domainnamen damit auf verbotene Zeichen untersucht hast und dabei fündig geworden bist:
solltest Du Dir noch das hier reinziehen:
https://phlymail.com/de/downloads/idna-convert.html
Könnte ja eine Umlaut-Domain (IDN-Domain) sein. Dann also mit der idna_convert.class.php:
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-.]/', $string) ) {
$flag=0;
}
}