我正在尝试使用PHP向当前项添加一个类。我有一个静态导航,如下所示:
<ul id="myList">
<li><a href="page1.php">Page One</a></li>
<li><a href="page2.php">Page Two</a></li>
<li><a href="page3.php">Page Three</a></li>
</ul>
我想遵循的逻辑是:
$path
变量中。myList
内找到具有与$path
匹配的SRC属性的链接.current
类。我已经用这个来排序第一点:
$path = basename( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) );
但我是PHP的新手,所以我不知道怎么去点2&amp;请帮忙!
答案 0 :(得分:0)
“便宜”的方式如下:
// assuming $html is your code
$html = str_replace($path,$path.'" class="current',$html);
正确的方法是使用HTML解析器。
正确的方法是在生成源代码时将其放在首位。
答案 1 :(得分:0)
只需将您的“静态”导航更新为动态导航。
$links = array(
array('link' => 'page1.php', 'text' => 'Page One'),
array('link' => 'page2.php', 'text' => 'Page Two'),
array('link' => 'page3.php', 'text' => 'Page Three')
);
$path = basename( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) );
echo '<ul id="myList">'
foreach ($links as $link) {
$class = '';
if ($link['link'] == $path) {
$class = 'current';
}
echo "<li><a href=\"$link[link]\" class=\"$class\">$link[text]</a></li>";
}
echo "</ul>";
这种情况实际上是PHP最初设计的目的。如果上面看起来有点难看,您可能需要考虑使用模板系统。那里有很多流行的和成熟的。