我是PHP开发的新手。
今天我偶然发现了有趣的主题网址碎片,特别是网址的“#”部分。
我搜索过它说它就像www.example.com \ foo.html#bar。
但我不明白为什么需要这个“#bar”。以及如何通过PHP阅读它?
答案 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