将活动状态设置为具有类似开始 (PHP) 的 url
Set active state to a url with similar begin (PHP)
我正在使用以下代码在我的菜单中设置活动状态:
<li class="<?php echo basename($_SERVER['PHP_SELF']) == 'index.php' ? 'active' : '';?>">
<a href="index.php">Home</a></li>
<li class="<?php echo basename($_SERVER['PHP_SELF']) == 'projects.php' ? 'active' : '';?>">
<a href="projects.php">Projects</a></li>
并且它适用于特定的 url,例如 projects.php,但我们还有以下 "projects",我们想在菜单中为它们设置活动状态:
- 项目-客户-name.php
- 项目-客户名称-2.php
- 项目-客户名称-3.php
是否有任何替代方法可以将活动状态设置为url,它开始或包含“项目” url,以这种方式它适用于 project-client-name.php 和 projects.php:
<?php echo basename($_SERVER['PHP_SELF']) == 'project' ? 'active' : '';?>
提前致谢。
尽管这是一个奇怪的解决方案,但您可以使用 strpos() or preg_match()
<?php echo strpos(basename($_SERVER['PHP_SELF']), 'project') !== FALSE ? 'active' : '';?>
strpos 查找第一次出现的子字符串,returns 它是 int 位置,如果找不到则 FALSE
以下代码适用于我:
<?php echo preg_match("/^(project){1}(.){0,}\w+/", basename($_SERVER['PHP_SELF'])) ? 'active' : ''; ?>
谢谢!
我正在使用以下代码在我的菜单中设置活动状态:
<li class="<?php echo basename($_SERVER['PHP_SELF']) == 'index.php' ? 'active' : '';?>">
<a href="index.php">Home</a></li>
<li class="<?php echo basename($_SERVER['PHP_SELF']) == 'projects.php' ? 'active' : '';?>">
<a href="projects.php">Projects</a></li>
并且它适用于特定的 url,例如 projects.php,但我们还有以下 "projects",我们想在菜单中为它们设置活动状态:
- 项目-客户-name.php
- 项目-客户名称-2.php
- 项目-客户名称-3.php
是否有任何替代方法可以将活动状态设置为url,它开始或包含“项目” url,以这种方式它适用于 project-client-name.php 和 projects.php:
<?php echo basename($_SERVER['PHP_SELF']) == 'project' ? 'active' : '';?>
提前致谢。
尽管这是一个奇怪的解决方案,但您可以使用 strpos() or preg_match()
<?php echo strpos(basename($_SERVER['PHP_SELF']), 'project') !== FALSE ? 'active' : '';?>
strpos 查找第一次出现的子字符串,returns 它是 int 位置,如果找不到则 FALSE
以下代码适用于我:
<?php echo preg_match("/^(project){1}(.){0,}\w+/", basename($_SERVER['PHP_SELF'])) ? 'active' : ''; ?>
谢谢!