Php 正在修剪的Url(如果存在)

Php 正在修剪的Url(如果存在),php,Php,我读过这篇文章:所以我知道是一个片段分隔符,但是我很难获得一个URL来显示在随后的页面上,在该页面上存在 我有一个php页面,它发送一个用户输入,一个URL,到另一个显示它的页面 <?php echo $_GET["url"]; ?> 显示 <?php echo $_GET["url"]; ?> 而包含这样一个片段的url http://website.com/qr/index.php?url=http://www.example.com&many=false

我读过这篇文章:所以我知道是一个片段分隔符,但是我很难获得一个URL来显示在随后的页面上,在该页面上存在

我有一个php页面,它发送一个用户输入,一个URL,到另一个显示它的页面

<?php echo $_GET["url"]; ?>
显示

<?php echo $_GET["url"]; ?>
而包含这样一个片段的url

http://website.com/qr/index.php?url=http://www.example.com&many=false&set=false
http://website.com/qr/index.php?url=http://www.example.com/#fragment&many=false&set=false
不显示任何内容

我无法使用$\u POST

感谢您的帮助。

您可能应该知道您在URL中放置的参数,特别是因为它也是一个URL,这意味着它很可能包含在URL上下文中具有特殊含义的字符,例如和/。如果您使用Javascript将URL参数放入其中,则可以使用。如果您使用PHP添加该URL参数,则

从第一个环节来看,英镑符号属于不安全字符类别,作者对此提出了进一步的建议:

由于各种原因,一些字符可能在URL中被误解。这些字符也应始终进行编码

这个不安全的名称来源于它,特别是关于英镑字符,强调我的:

所有不安全字符必须始终在URL中编码。对于 例如,即使在URL中,字符也必须在URL中编码 通常不处理碎片或锚的系统 标识符,因此如果URL被复制到另一个系统中 如果不使用它们,则无需更改URL编码


你应该使用或。否则,后面的所有内容都是片段的一部分,您可能会遇到一些问题

实际上,在这两种情况下都应该填写$\u GET['url'],因为后面是url参数。在第二种情况下,您将无法读取$\u GET['many']和$\u GET['set'],因为它是片段的一部分,不会发送到服务器,但是$\u GET['url']应该可以。因此,我认为错误应该在其他地方。如果要作为参数值的一部分进行传递,必须首先对其进行URL编码。不能将其保留为,因为它将被视为此url的一部分,而不是参数值的一部分。非编码后的所有内容都不会发送到服务器