什么是片段 URL 以及为什么要使用它们?

What are fragment URLs and why to use them?

我是 PHP 开发新手。

今天我遇到了 URL 片段这个有趣的话题,特别是 URLs 的 # 部分。

我搜了一下,好像是

www.example.com/foo.html#bar

但我不明白为什么需要这个#bar。或者如何阅读 PHP?

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

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

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

有一些关于片段的信息,最重要的可能是它们不是在 HTTP 请求消息中发送的,但您可以在 this page.

上找到更多关于它们的信息

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

要通过 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>';

结果是:

字符串(3)“栏”

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