Php 在模块化网站中突出显示指向当前页面的链接

Php 在模块化网站中突出显示指向当前页面的链接,php,css,Php,Css,我只想在使用php打开页面时,在导航链接中添加一个名为“active”的css类 在我的网站中,内容已经分解为各个部分。使用一个索引文件将这些组件分离、组织并放回一起。(网站引导文件)实际上我正在使用php模块化这个网站 我的导航与此代码类似- ... <li> <a href="index.php?p=dashboard">Dashboard</a> </li> <li> <a href="index.php?

我只想在使用php打开页面时,在导航链接中添加一个名为“active”的
css

在我的网站中,内容已经分解为各个部分。使用一个索引文件将这些组件分离、组织并放回一起。(网站引导文件)实际上我正在使用php模块化这个网站

我的导航与此代码类似-

...

<li>
    <a href="index.php?p=dashboard">Dashboard</a>
</li>
<li>
    <a href="index.php?p=page-two">Page Two</a>
</li>
<li>
    <a href="index.php?p=page-three">Page Page Three</a>
</li>

...
我不知道如何将
active
css类动态添加到我的链接中。希望有人能帮助我


多谢各位

使用
$\u SERVER['PHP\u SELF']
将当前文件与要加载的页面进行比较

如果它们相等:

case 'dashboard':
  $page = 'dashboard.inc.php';
  $page_title = 'Control Panel';
  $class == ($page == $p) ? 'active' : '';
break;
并将该类添加到HTML中

<li class="<?php echo $class;?>">
...

如果您对JS/Jquery解决方案没有意见,这里就是

HTML代码:

<ul class="menu">
    <li>
        <a href="index.php?p=dashboard">Dashboard</a>
    </li>
    <li>
        <a href="index.php?p=page-two">Page Two</a>
    </li>
    <li>
        <a href="index.php?p=page-three">Page Page Three</a>
    </li>
</ul>
工作示例如下

那是
header.html
的导航部分吗?也许是时候把它变成一个PHP了,这样你就可以使用你的一些变量,并用它来确定把
激活的
放在哪里。@Ghost是的导航部分在header.htmlI尝试过了,但是在第32行:未定义的变量:class
上出现了一个错误。我尝试像这样回显url-'echo”“,打印($\u服务器['PHP\u SELF'])。"";`但是我找不到网址
<ul class="menu">
    <li>
        <a href="index.php?p=dashboard">Dashboard</a>
    </li>
    <li>
        <a href="index.php?p=page-two">Page Two</a>
    </li>
    <li>
        <a href="index.php?p=page-three">Page Page Three</a>
    </li>
</ul>
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

$(document).ready(function(){
    var PageName = getParameterByName('p');
    $("li a[href*='"+PageName+"']").addClass("active");
});