使用 PHP 根据 ancor 标签更改 URL

发布于 2024-10-19 14:19:34 字数 325 浏览 2 评论 0原文

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

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

可以使用 PHP 完成吗?我尝试过 print_r($_GET) 来看看是否可以通过这种方式得到它,但它肯定不起作用。我应该使用类似的东西:

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

...或者有更好的方法吗?

谢谢。

I would like to be able to change different content on a page based on an anchor tag:

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

Can it be done with PHP? I've tried print_r($_GET) to see if I can get it that way, but certainly it does not work. Shall I use something like:

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

...or is there a better way?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

2024-10-26 14:19:34

#无法被服务器访问,它没有被浏览器传输到服务器!

您可能想要做的是:要跳转到页面上的某个部分,您可以简单地使用纯 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 捕获链接并触发对服务器的请求。脸书就是这么做的。

# can not be accessed by a server, it is not transmitted by browsers to the server!

What you propably want to do is: to jump to a section on a page, you can simply do this with plain 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

An other solution would be to catch the link via JavaScript and trigger a request to the server. This is how facebook does it.

明明#如月 2024-10-26 14:19:34

如果要在服务器端切换内容,请在 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;
}
?>

或者,更经典的是,在 URL 中使用 ?content=1 或 ?content=2:

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

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

 default:
 // default actions;
 break;
}

?>

If you want to switch content on the server-side, use ?content1 or ?content2 in URL:

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

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

 default:
 // default actions
 break;
}
?>

Or, more classic, ?content=1 or ?content=2 in URL:

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

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

 default:
 // default actions;
 break;
}

?>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文