在php中激活bootstrap链接

时间:2015-08-08 07:49:02

标签: php twitter-bootstrap

我的导航栏包含根据当前页面的基本网址处于活动状态的链接。

PHP功能:

function Match($requestUri){

    $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");

    if ($current_file_name == $requestUri) 
        return "active";
    }

链接:

echo "<li class=".Match("cms").'nav-item'."><a href='/cms/index.php'>Home</a>"

我得到的是什么:

<li class="activenav-item"><a href="/cms/index.php">Home</a></li>

应该是什么:

<li class="active nav-item"><a href="/cms/index.php">Home</a></li>

有效之后我应该怎么做才能添加空格?

2 个答案:

答案 0 :(得分:3)

您可以在字符串文字中包含空格:

echo "<li class='".Match("cms")." nav-item'><a href='/cms/index.php'>Home</a>"
                                 ^

即使Match会返回一个空字符串,这也是有效的HTML - 然后浏览器会忽略前导空格。

请注意,您还混合了单引号和双引号。如果你像这样构造一个HTML,最好使用PHP引号的双引号和HTML属性的单引号(因为这允许variable parsing)。

答案 1 :(得分:1)

作为一个公平的替代方案,您还可以在退货声明中包含空格。

if ($current_file_name == $requestUri) 
    return "active ";
}

但是,你确定你真的得到了你认为你得到的结果吗?这条线没有正确引用。

echo "<li class=".Match("cms").'nav-item'."><a href='/cms/index.php'>Home</a>"

你应该这样引用它:

echo "<li class='".Match("cms")."nav-item'><a href='/cms/index.php'>Home</a>";