Я пытаюсь разобрать URL-адрес из $_GET['url'] с помощью https://github.com/spatie/url, но GET возвращает, так сказать, недопустимый URL-адрес.
https://duckduckgo.com в http://localhost/blog/external-link/https://duckduckgo.com возвращает https:/duckduckgo.com, когда я использую echo $_GET['url'];.
Почему? И как это исправить?






Я думаю, вам нужно указать URL-адрес:
echo urlencode('https://duckduckgo.com');
это вернет https%3A%2F%2Fduckduckgo.com
Это потому, что /-Sign имеет особое значение в URL-адресах. Вы не можете использовать его без кодирования.
Так что попробуйте http://localhost/blog/external-link/https%3A%2F%2Fduckduckgo.com, и вы добьетесь большего успеха.
Спасибо. http://localhost/blog/external-link/https%3A%2F%2Fduckduckgo.com возвращает «Объект не найден» на моем веб-сервере, но теперь на моих костях больше плоти.
будьте осторожны с таким подходом (когда он работает) - если целевые URL-адреса не находятся в вашей базе данных или не внесены в белый список, тогда ваш сайт легко использовать для запуска URL-адресов для случайных доменов ...