Проверка правильности URL-адреса - это не то же самое, что проверка правильности XML.При попытке загрузить недопустимый URL-адрес обычно возникает ошибка типа
Не удалось открыть поток: php_network_getaddresses: сбой getaddrinfo
Однако эта ошибка связана с потокомобертка, в то время как любая проверка XML выполняется после этого libxml.Следовательно, вам нужно проверить две разные вещи.Приведенный ниже код будет учитывать оба:
libxml_use_internal_errors(true);
$start = microtime(true);
$rss = @simplexml_load_file(
'http://www.fohgggrbes.com/news/index.xml',
'SimpleXMLElement',
LIBXML_NOCDATA
);
$end = microtime(true);
$errors = array_filter(
array(error_get_last(), libxml_get_errors()),
function($val) { return !empty($val); }
);
print_r(empty($errors) ? $end - $start : $errors);
libxml_use_internal_errors(false);
Я оставляю за вами возможность заключить это в класс и выбросить исключения, если вы хотите использовать try / catch.