PHP 不接受带有特殊字符的 URL

问题描述 投票:0回答:1

我正在尝试将以下 URL 作为参数发送给 php,

https://boxtext.com/expected-my-list-size-b2b#:~:text=%E2%80%9C1%2C000%20email%20subscribers%20is%20a,货币化%20methods%2C%E2% 80%9D%20Smith%20 说.

我尝试使用

读取URL

$url = $_REQUEST["new_url"];

回显$url;

这对于没有任何特殊字符的 URL 来说效果很好。如果我删除 #:~: 这部分 URL,它也可以正常工作。但是,对于这些字符,它会被破坏并且只显示 https://boxtext.com/expected-my-list-size-b2b

我尝试使用 JSON 对象发送此内容,但没有帮助。

有人可以提出解决办法吗?

我尝试使用 JSON 对象发送此内容,但没有帮助。

php url special-characters
1个回答
0
投票

如果您想将 URL 作为查询中的值提交,您必须

urlencode
它们:

if(!empty($_REQUEST['newurl']))
    var_dump($_REQUEST['newurl']);

$url = 'https://boxtext.com/expected-my-list-size-b2b#:~:text=%E2%80%9C1%2C000%20email%20subscribers%20is%20a,monetization%20methods%2C%E2%80%9D%20Smith%20says';
$encoded_url = urlencode($url);
echo ('<a href="?newurl=' . $encoded_url . '">Click me</a>');
© www.soinside.com 2019 - 2024. All rights reserved.