如何使用PHP更改HTML中的类?
我在我的所有页面中都有下面的代码,除了每个页面外,该类都在该特定页面上如何使用PHP更改HTML中的类?,php,html,class,Php,Html,Class,我在我的所有页面中都有下面的代码,除了每个页面外,该类都在该特定页面上 <li><a href="../index.html">Homescreen</a></li> <li><a href="socialstuff.html">Social Stuff</a></li> <li><a href="sops.html">SOP's</a></li> &l
<li><a href="../index.html">Homescreen</a></li>
<li><a href="socialstuff.html">Social Stuff</a></li>
<li><a href="sops.html">SOP's</a></li>
<li><a href="login.php">FTO Documents</a></li>
<li><a class="selected" href="changelog.html">Changelog</a></li>
我正在将这些代码放入一个include文件夹中,这样我创建的每个页面就不必在每个页面中都有这行代码。我唯一的问题是,如何检测我所在的页面,然后自动删除选中的旧类并将新类添加到当前页面?这在很大程度上取决于您如何处理路由。假设您只使用文件名路由,则可以使用URI检查
<li><a href="socialstuff.html" class="<?php if($_SERVER['REQUEST_URI']) == 'socialstuff.html'){ echo 'selected'; } ?>">Social Stuff</a></li>
然后对
元素中的每一行执行此操作
此外,在
if($\u SERVER['REQUEST\u URI'])=='socialstuff.html')
行中,'socialstuff.html'
需要是地址栏在该页面上读取的确切URI。因此,如果socialstuff.html
驻留在名为misc
的文件夹中,那么该页面的URI可能是misc/socialstuff.html
我解决这个问题的一种方法是使用帮助函数
function currentPage($page){
if (basename($_SERVER['PHP_SELF']) == $page) {
echo 'selected';
}
}
函数currentPage($page){
if(basename($\u SERVER['PHP\u SELF'])==$page){
回音“选定”;
}
}
您必须将此函数添加到每个li
中,以检查其是否在该页面上
我还没有测试过代码,但您将大致了解如何处理这类事情。希望能有所帮助。从BayssMekanique的答案中获取细节,但做出更系统的回应。。。反复浏览链接会有所帮助。我还将创建一个函数
renderlinglist()
或类似函数,并返回字符串。希望这有帮助
那么我该如何将所说的类更改为“selected”,我刚刚更改了它。将要应用的类放入echo参数中。在将$selected
变量附加到$links
变量后,应清除该变量。否则它会将同一类应用于所有后续链接。这很有效!我所做的是把这个函数放在我的边栏文件中。真是太棒了!你是怎么做到的?
<li><a class="<?php currentPage('changelog.html') ?>" href="changelog.html">Changelog</a></li>