如何在index.php之后阅读当前页面?

时间:2013-09-13 13:47:08

标签: php jquery html css

我想帮助我的代码,设置关键字,说明和页面标题。

我的head.php(包含在index.php中):

<?php 
$current = $SERVER_[REQUEST_URI];
$home = "/#!/page_HOME";
if($current==$home) {
  $title = "Example.com || Home";
  $keywords = "some words";
  $description = "description text";
}   
?>

我的网站使用“奇怪”网址,例如:http://example.com/index.php#!/page_HOME。 是一个带有CSS和jQuery技巧的网页来加载不同的页面。

现在,我想通过点击菜单链接更改页面的关键字,说明和标题。

在index.php中,menu和include语句是这样的:

**link in menu:** 
<a href="#!/page_HOME">Home</a>
**include in webpage:** 
<li id="page_HOME">
    <a href="#!/page_SPLASH" class="close"></a>  
    <?php include('home.html'); ?>
</li>

我尝试用$SERVER_[REQUEST_URI]等来做这件事,但我无法管理。

请帮助解决这个'问题'

1 个答案:

答案 0 :(得分:0)

您可以使用parse_url()检索锚片段(#之后的所有内容);见:http://php.net/parse_url

$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$urlFragment = parse_url( $url, PHP_URL_FRAGMENT );

switch( $urlFragment )
{
    case '!/page_SPLASH':
        $title = "Example.com || Splash";
        $keywords = "splash content";
        $description = "splash description text";
        break;

    /* define more pages here */

    case '!/page_HOME': /* no break; intended */
    default:
        $title = "Example.com || Home";
        $keywords = "some words";
        $description = "description text";
        break;
}