我是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的更多信息,您可以阅读此页面