我需要" Pages"链接,以便能够检测用户是否在"页面"的下拉菜单中包含的任何页面上。检测它们是否仅在1页上很容易,我需要在" Pages"中添加多个实例。项目。希望这更有意义。
这就是我所拥有的:
<li class='dropdown' id="menu1">
<a class="dropdown-toggle" data-toggle="dropdown" href="#menu1">Pages</a>
<ul class="dropdown-menu">
<li>
<a href="index.php">Home</a>
</li>
<li>
<a href="about.php">About</a>
</li>
</ul>
</li>
JUST index.php的代码示例如下:
<li <?php if (stripos($_SERVER['REQUEST_URI'],'index.php') !== false) {echo 'class="active"';} ?>>
<a href="index.php">Home</a>
</li>
就像我之前说的那样,我需要在一个PHP块中添加多个实例,以便在用户只是 [filename] .php
的情况下检测更多。希望这是有道理的。
答案 0 :(得分:0)
首先你需要只提取页面名称,然后你需要将它与可见页面数组进行比较:
<?php if (in_array(preg_replace('|.*/(.+\.php).*|i','\\1',$_SERVER['REQUEST_URI']), array('index.php','about.php'))) {echo 'class="active"';}
答案 1 :(得分:0)
您必须将列表项放在数组中。然后循环遍历它们以创建菜单。
$pages = array(
'Home' => 'home.php',
'About' => 'about.php'
);
<?php foreach ($pages as $name => $url): ?>
<li <?php if (stripos($_SERVER['REQUEST_URI'], $url) !== false):
echo 'class="active"';
endif ?>>
<a href="<?php echo $url?>"><?php echo $name?></a>
</li>
<?php endforeach ?>
这将检查数组中的每个结果,看它是否与uri匹配。如果是,它会将活动类添加到li。