parse_url () вернет false, если переменная не может быть проанализирована как url.Проверка результата parse_url () для! == false позволит узнать, что строка была успешно проанализирована функцией и, следовательно, является действительным URL.
$parse = parse_url($url);
if($parse !== false)
{
echo 'valid url';
if(isset($parse['host'])) echo $parse['host'];
}
После этого вам решатьчто именно вы имеете в виду с "действительным URL".Функция parse_url в PHP сможет анализировать строку, которая является не чем иным, как просто путем.В зависимости от заданной проблемы / контекста, вы можете почувствовать, что «действительный URL» состоит как минимум из схемы + хоста, или в другом контексте может быть допустимым только относительный путь (без хоста).Добавление этих проверок в себя - просто проверка наличия ключа в разобранном массиве - может выглядеть так:
$parse = parse_url($url);
if($parse !== false)
{
if(isset($parse['scheme']) && isset($parse['host']))
{
echo 'valid url';
echo $parse['host'];
}
}