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



我是PHP开发的新手。

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

我搜索发现它像

www.example.com/foo.html#bar

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

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

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

关于这些片段有一些事情,最重要的可能是它们不是在HTTP请求消息中发送的,但你可以在这个页面上找到更多关于它们的信息。

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

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

要通过PHP读取片段,可以使用'parse_url($url,PHP_url_FRAMMENT)'函数。这个函数在一个内置的PHP函数中。下面的例子可以帮助你了解如何使用它:

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

结果是:

字符串(3)";条";

有关parse_url的更多信息,您可以阅读此页面

最新更新