PHP регулярное выражение для проверки URL

Я ищу подходящее регулярное выражение для соответствия URL (полный URL со схемой, доменом, путем и т. Д.). Я бы обычно использовал filter_var, но я не могу в этом случае, так как мне нужно поддерживать PHP <5.2!

Я искал в Интернете, но не могу найти ничего, что, я уверен, будет надежным, и все, что я могу найти на SO, это люди, которые говорят, что используют filter_var.

У кого-нибудь есть регулярное выражение, которое они используют для этого?

Мой код (просто чтобы вы могли видеть, чего я пытаюсь достичь):

function validate_url($url){
    if (function_exists('filter_var')){
        return filter_var($url, FILTER_VALIDATE_URL);
        }
    return preg_match(REGEX_HERE, $url);
    }

Ответы на вопрос(4)

Ваш ответ на вопрос