0

我只是在学习开放式购物车,但我认为任何具有良好 php 知识的人都可以回答这个问题。

我只是试图仅在该页面上突出显示链接,但它似乎不起作用

<?php $tickets = 'index.php?route=product/category&path=600'; ?>
<ul>
    <li><a href="http://www.limerickfc.ie">Limerick FC</a></li>
    <li><a href="<?php echo $tickets; ?>" <?php
if (strpos($_SERVER['PHP_SELF'], $tickets )) echo "class=\"current\" ";
?>  > Tickets     </a></li>
    <li><a href="<?php echo $home; ?>" class="current">Shop</a></li>
</ul>

我知道这个变量$tickets很好,因为链接指向它应该去的地方,我知道这个类current很好,因为它适用于第三个li商店。

我使用strpos正确吗?

4

2 回答 2

1

我认为你应该使用basename($_SERVER['REQUEST_URI']);.

<a href="<?php echo $tickets; ?>" <?php echo (basename($_SERVER['REQUEST_URI']) == $tickets) ? '"class=\"current\"' : ""; ?>>Tickets</a>

如果basename($_SERVER['REQUEST_URI'])在变量中声明会更好。

于 2012-11-21T13:35:26.833 回答
0

strpos()如果字符串在 char 0 处匹配,则返回 false - 上面就是这样。

使用相同的比较===以获得真实的结果。

作为说明,我substr_count()过去曾在类似的情况下使用过,而无需进行相同的比较!

于 2012-11-21T13:07:28.997 回答