Лучший способ проверки URL-адреса в PHP

Я читал разные сообщения в Stack Overflow, чтобы попытаться найти идеальный способ проверки URL-адреса на PHP. Мои исследования придумали три возможных решения, однако ни один из них не идеален.

Три упомянутых метода: regex, filter_var ($url, FILTER_VALIDATE_URL) и parse_url () . Проблемы с первым подходом уже хорошо известны, и наиболее полное регулярное выражение регулярных выражений я мог найти натянутые страницы. Функция filter_var, встроенная в расширение фильтрации PHP, имеет недостатки, такие как обработка URL-адреса, такого как http: // …, как действительная. Метод parse_url использует функцию, которая никогда не предназначалась для проверки URL-адресов и поэтому не может зависеть от этой задачи.

Существуют ли какие-либо другие варианты проверки URL-адресов в PHP, которые я, возможно, пропустил?

Как насчет того, что вы объединяете filter_var (который в основном является проверкой регулярных выражений, который охватывает страницы) с дополнительной проверкой регулярных выражений на случаи, которые, как вы думаете, не покрываются им?

Я обычно использую parse_url() для проверки / проверки URL (в большинстве случаев мне нужно определить, является ли URL уже действительным URL-адресом или относительным URL-адресом)

 if (parse_url($url, PHP_URL_SCHEME) != '') { // Url is absolute } else { // Url is not an absolute url, and therefore, need more validation... }