使用PHP在URL中获取名称

使用PHP在URL中获取名称,php,javascript,html,anchor,Php,Javascript,Html,Anchor,我希望使用(最好)PHP或JavaScript获取URL。该页面使用锚名称打开(例如index.php#aboutme)。当我使用 $host = $_SERVER['HTTP_HOST']; $script = $_SERVER['SCRIPT_NAME']; $params = $_SERVER['QUERY_STRING']; 它返回http://afterimagedesign.tk/index.php末尾没有#home。我怎样才能得到这个呢?PHP永远无法得到这个标签(这就是它的名字

我希望使用(最好)PHP或JavaScript获取URL。该页面使用锚名称打开(例如
index.php#aboutme
)。当我使用

$host = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$params = $_SERVER['QUERY_STRING'];

它返回
http://afterimagedesign.tk/index.php
末尾没有
#home
。我怎样才能得到这个呢?

PHP永远无法得到这个标签(这就是它的名字),因为浏览器从未以任何形式将它发送到服务器

<?
echo parse_url("http://localhost/index.php#aboutme",PHP_URL_FRAGMENT);
?>

JavaScript可以通过
window.location.hash
访问它,但这是客户端的


使用PHP访问此数据的唯一方法是在页面加载时通过AJAX调用将其发送到PHP。正如其他响应所说,hashtag从未在原始请求中发送到PHP。所以你以后就得寄了


如果这是您需要的信息,则必须将应用程序更改为不使用hashtags,而是将此数据附加到查询字符串中(即index.php?home而不是index.php#home,并在此基础上加载时使用javascript手动滚动页面。

window.location.hash
在JS中会返回
#home
。我认为关键是要找到访问它的URL?它被称为。哈希标签是一种在twitter上标记一个单词作为搜索对象的方法例如。他说“页面是使用锚名称打开的”,所以我猜有一个请求,包括对服务器的哈希。@昆汀:哈希标签是以符号#作为前缀的单词或短语,这是元数据标签的一种形式。(来自维基百科),但确定。@J.H.:这并不意味着什么。这可能意味着请求了正常页面,然后使用片段标识符将更多内容AJAX添加到站点中。@J.H.-不,片段标识符完全由客户端处理。它从不发送到服务器。它代表资源的一部分,客户端获取w滚动到给定零件时的孔资源。
window.location.hash