Почему функция не валидирует ссылки с русским текстом?
return (filter_var($url, FILTER_VALIDATE_URL) !== false) ? true : false;
Если в качестве $url
дать ссылку:
https://ru.stackoverflow.com/questions/198948/%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D0%BB%D0%B8%D1%81%D1%82%D0%B0-pascal
Функция вернет false.
В документации сказано:
Обратите внимание, что функция работает только с ASCII-ссылками
В это и причина, если русский текст?
Источник: Stack Overflow на русском