使用PHP basename将ID回显给具有锚标记的链接?

时间:2012-12-13 20:59:42

标签: php

我想知道在PHP中是否可以使用basename函数来回显链接的新id(如果链接都在同一页面上,我可以根据用户的位置来设置它们的样式) ?具体来说,我的网站是一个向下滚动的网站,所以一切都在一个页面上。如果我的网站有多个页面,我意识到你可以做到以下几点:

<?php $currentPage = basename($_SERVER['SCRIPT_FILENAME']); ?>
<ul>
    <li><a href="index.php" <?php if ($currentPage == 'index.php') {
                        echo 'id="here"';} ?>>HOME</a></li>

当然,你只是风格&#34;在这里&#34;使用CSS来反映用户的当前页面。但是,如果我使用锚标签呢?

<?php $currentPage = basename($_SERVER['SCRIPT_FILENAME']); ?>
    <ul>
        <li><a href="index.php" <?php if ($currentPage == 'index.php#home') {
                            echo 'id="here"';} ?>>HOME</a></li>

这不起作用。这有可能用PHP完成吗?如果没有,是否有JavaScript方法这样做?提前谢谢!

1 个答案:

答案 0 :(得分:0)

片段不会发送到服务器。所有服务器都知道您在index.php

但是,您可以使用:target伪类来识别片段中引用的元素。

例如,如果我转到http://example.com/index.php#section并且该页面有:

<h1 id="section">Some title</h1>

:target {background-color:#ccc;}

然后会突出显示<h1>标记。