我的导航栏包含根据当前页面的基本网址处于活动状态的链接。
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>
在有效之后我应该怎么做才能添加空格?
答案 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>";