什么是片段URL以及使用它的原因

时间:2015-06-23 08:18:22

标签: php url hash fragment-identifier

我是PHP开发的新手。

今天我偶然发现了有趣的主题网址碎片,特别是网址的“#”部分。

我搜索过它说它就像www.example.com \ foo.html#bar。

但我不明白为什么需要这个“#bar”。以及如何通过PHP阅读它?

3 个答案:

答案 0 :(得分:11)

片段是内部页面引用,有时称为命名锚点。它通常出现在URL的末尾,并以哈希(#)字符开头,后跟标识符。它指的是网页中的一个部分。

在HTML文档中,浏览器会查找名称属性与片段匹配的锚标记。

有关片段的一些内容,最重要的可能是它们未在HTTP请求消息中发送,但您可以在this page上找到有关它们的更多信息。

Javascript可以操作当前页面上的片段,这些片段可用于添加页面的历史条目,而无需强制完全重新加载。

答案 1 :(得分:0)

它无法通过php读取它。它由客户端(浏览器)用于哈希导航,但您可以编写JS代码来处理哈希更改并向服务器端(php)发送异步请求并在页面上显示结果。

答案 2 :(得分:0)

要通过PHP读取片段,可以使用'parse_url($ url,PHP_URL_FRAGMENT)'函数。该函数内置于PHP函数中。以下示例可以帮助您了解如何使用它:

$url = 'www.example.com\foo.html#bar';
echo '<pre>';
var_dump(parse_url($url, PHP_URL_FRAGMENT));
echo '</pre>';

结果是:

string(3)“栏”

有关parse_url的更多信息,您可以阅读this page