php可以使用js href.split从hash后的url中获取值吗?
我有一些网址,例如 http://www.domainname.com/m1.php?#m2.php?more=apple&starting=1
如何使用 PHP 获取值 $ _GET['更多']
& $_GET['开始']
?
是否可以使用js href.split
获取hash #
后面的值?
更新的问题:
添加一些代码如下:我仍然得到 $_GET['fragment'] = m2.php?more=apple
,但丢失了 &starting=1
>,接下来我该怎么办?
<script type="text/javascript">
var parts = location.href.split('#');
if(parts.length > 1)
{
var params = parts[0].split('?');
var mark = '?';
if(params.length > 1)
{
mark = '&';
}
location.href = parts[0] + mark + 'fragment=' + parts[1];
}
</script>
<?php
if(isset($_GET['fragment']))
{
echo $_GET['fragment'];
}
?>
I have some urls like http://www.domainname.com/m1.php?#m2.php?more=apple&starting=1
How to use PHP to get the value $_GET['more']
& $_GET['starting']
?
Is it possible use js href.split
to get the value hehind hash #
?
Updated question:
Add some code as below: I still get the $_GET['fragment'] = m2.php?more=apple
, but lose the &starting=1
, How do I do next?
<script type="text/javascript">
var parts = location.href.split('#');
if(parts.length > 1)
{
var params = parts[0].split('?');
var mark = '?';
if(params.length > 1)
{
mark = '&';
}
location.href = parts[0] + mark + 'fragment=' + parts[1];
}
</script>
<?php
if(isset($_GET['fragment']))
{
echo $_GET['fragment'];
}
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 php 中你根本看不到所请求的片段。
你只能用javascript看到它
In php you simply can't see the fragment requested.
You can see it only with javascript
我认为你应该能够使用 PHP 的内置函数
parse_url
http://php.net/manual/en/function.parse-url.php如果您查看返回值,您可以获取哈希形式的查询参数以及
# 之后的值
是片段
I think you should be able to use PHP's built in function
parse_url
http://php.net/manual/en/function.parse-url.phpIf you look at the return values, you can get the query params as a hash and the value after the
#
is thefragment
您可以这样做以在 php 中使用哈希片段。
需要重新加载页面,但它可以工作。
您可以在任何其他 js 标签之前设置此脚本标签,这样重新加载就不会延迟。
You can do this to use the hash fragment in php.
Needs page reload but it works.
You can set this script tag before any other js tag so the reload is not delayed.