我正在尝试解决这个问题时处理以下类型的乱码。
<?php $curURL = ROOT.$_SERVER['REQUEST_URI']; ?>
<li><a href="<?php $href = APP_ROOT; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">HOME</a></li>
<li><a href="<?php $href = APP_ROOT.'about'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">ABOUT</a></li>
<li><a href="<?php $href = APP_ROOT.'portfolio'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">PORTFOLIO</a></li>
<li><a href="<?php $href = APP_ROOT.'services'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">SERVICES</a></li>
<li><a href="<?php $href = APP_ROOT.'blog'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">BLOG</a></li>
<li><a href="<?php $href = APP_ROOT.'contact'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">CONTACT</a></li>
我目前得到的结果是,如果我在所选页面上的网址(ex. http://localhost/myapp/index/)
,那么它将相应地更改css样式。我希望发生的是,即使我在该页面的(ex. http://localhost/myapp/index/dosomething/)
的子网址上,css样式仍会保持更改。我已经把头撞在了这个墙上一段时间了。
答案 0 :(得分:1)
这就是我在其中一个网站上的操作方式。这是一个将类应用于活动链接的示例,但这个想法是相同的......
PHP
$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$fullPath = parse_url($current_url, PHP_URL_PATH);
$prepare = explode('/',$fullPath);
$path = "/" . $prepare[1];
HTML
<li><a href="location.php"<?php if($path == $thePath) { echo 'class="active"';}?>>Link Title</a>
答案 1 :(得分:0)
你能做到的一种方法是解构路径,看看结构是什么。例如,如果路径是myapp / index / dosomething,则采用该路径并通过将字符串拆分为“/”来创建数组。然后检查以查看数组[2]是什么,并根据它设置你的风格。