如何在PHP中从URL获取片段ID?

时间:2015-01-09 06:27:35

标签: php joomla

我正在使用

location.hash = $(this).attr("id"); 

立即将id附加到url栏而不重新加载。结果是:http://example.net/index.php/abc#id

然后我回应

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

我得到的输出是:http://example.net/index.php/abc

如何在PHP中获取#id(称为片段ID)以便它可以用作PHP变量?

谢谢!

2 个答案:

答案 0 :(得分:1)

网络服务器不接收哈希片段,它只是客户端。因此,您无法使用PHP或任何其他服务器端语言来获取它。您可以通过javascript获取该哈希并通过GET参数将其发送到服务器端脚本来解决,但我不建议这样做。

答案 1 :(得分:1)

您无法直接将片段部分从客户端发送到PHP服务器端。但是片段id可以通过javascript访问,你可以将它作为GET参数发送到服务器。 使用window.location获取包含片段部分和window.location.hash的完整网址,以获取javascript中的片段部分。 如果您将完整的URL(包括片段哈希)发送到PHP服务器,您可以使用parse_url("URL HERE",PHP_URL_FRAGMENT)函数来获取片段哈希。