使用PHP更改基于锚标记的URL

时间:2011-02-24 15:32:32

标签: php uri

我希望能够根据锚标记更改页面上的不同内容:

http://mydomain.com/mypage#conten1
http://mydomain.com/mypage#conten2

可以用PHP完成吗?我已经尝试过print_r($ _ GET),看看我能不能这样做,但肯定不行。我应该使用类似的东西:

if (ereg("#content1",$REQUEST_URI)) {
   // show content 1
}

...还是有更好的方法?

感谢。

2 个答案:

答案 0 :(得分:3)

服务器无法访问

#,浏览器将 传输到服务器!

您可能想要做的是:跳转到页面上的某个部分,您可以使用纯HTML执行此操作:

<a href="#section_1">Show 1</a> 
<a href="#section_2">Show 2</a> 

<a name="section_1" /> Section 1
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />

<a name="section_2" /> Section 2

另一种解决方案是通过JavaScript捕获链接并触发对服务器的请求。 facebook就是这样做的。

答案 1 :(得分:1)

如果要在服务器端切换内容,请在URL中使用?content1或?content2:

<?php
switch (true) {
 case isset($_GET['content1'):
 // content 1 actions
 break;

 case isset($_GET['content2'):
 // content 2 actions
 break;

 default:
 // default actions
 break;
}
?>

或者更经典,?content = 1或?content = 2 in URL:

<?php
switch ($_GET['content']) {
 case '1':
 // content 1 actions
 break;

 case '2':
 // content 2 actions
 break;

 default:
 // default actions;
 break;
}

&GT;