我有一个网址,而不是字符串。它在浏览器的地址栏中
http://localhost/sample/?post_id2#access_key=1654040333
如何获取以access_key
开头的#
参数?
我试图使用$_SERVER['HTTP_HOST']
和$_SERVER['REQUEST_URI']
以及$_SERVER['QUERY_STRING']
,但仍然如此。
任何人都可以帮助我吗?
答案 0 :(得分:2)
post_id2#access_key = 1654040333
access_key
不是您使用即{。{}}获得的常规查询参数。它是使用的网页锚引用(由浏览器设计,但现在也由JS框架等)。然而,你没有完全迷失,因为有parse_url()函数可以为你解析这个。所以:
$_GET
会返回以下数组:
$url = 'http://localhost/sample/?post_id2#access_key=1654040333';
var_dump(parse_url($url));
因此,您的array(5) {
["scheme"]=>
string(4) "http"
["host"]=>
string(9) "localhost"
["path"]=>
string(8) "/sample/"
["query"]=>
string(8) "post_id2"
["fragment"]=>
string(21) "access_key=1654040333"
}
将位于access_key
键中,因此您可以进一步处理以获取值:
fragment
答案 1 :(得分:1)
尝试通过javascript解析网址
alert(window.location.hash);
答案 2 :(得分:0)
您可以使用$url = "http://localhost/sample/?post_id2#access_key=1654040333";
var_dump(parse_url($url, PHP_URL_FRAGMENT));
来获取所需的结果。
private bool isEvenClick;
private void button1_Click(object sender, EventArgs e)
{
if (!isEvenClick)
{
m1();
isEvenClick = true;
}
else
{
m2();
isEvenClick = false;
}
}
public void m1()
{
button1.Text = "01";
}
public void m2()
{
button1.Text = "02";
}