通过使用php向选项卡添加类,将选项卡设置为活动

通过使用php向选项卡添加类,将选项卡设置为活动,php,Php,使用php设置tabs类的好方法是什么?这里没有jQuery,只有php。我从脚本中获取选项卡名称。根据$tab,我需要将具有该名称的设置为class=“active”。有什么好主意吗 $tab = 'movies'; <ul class="nav nav-tabs"> <li>Books</li> <li>Music</li> <li class="active">Movies</li>

使用php设置tabs类的好方法是什么?这里没有jQuery,只有php。我从脚本中获取选项卡名称。根据
$tab
,我需要将具有该名称的
  • 设置为
    class=“active”
    。有什么好主意吗

    $tab = 'movies';
    
    <ul class="nav nav-tabs">
        <li>Books</li>
        <li>Music</li>
        <li class="active">Movies</li>
        <li>Others</li>
    </ul>
    
    $tab='movies';
    
    • 音乐
    • 电影
    • 其他
    我试着用str_replace来做这个,但这都是非常笨拙和丑陋的。

    
    
    <?php $tabs = array('Books', 'Music', 'Movies', 'Others'); ?>
    <ul>
      <?php foreach ($tabs as $tabName): ?>
        <?php $class = ''; ?>
        <?php if ($tab === $tabName) $class = ' class="active"'; ?>
        <li<?php echo $class?>><?php echo $tabName?></li>
      <?php endforeach?>
    </ul>
    

    我不是直接混合HTML和PHP的大支持者,但是像这样的东西怎么样:

    $options = array("books", "music", "movies", "other");
    $tab = 'music';
    
    echo '<ul class="nav nav-tabs">';
    
    foreach($options as $o) {
        if($o == $tab) {
            echo '<li class="active">'.ucfirst($o).'</li>';
        } else {
            echo '<li>'.ucfirst($o).'</li>';
        }
    }
    
    echo '</ul>';
    
    $options=数组(“书籍”、“音乐”、“电影”、“其他”);
    $tab=‘音乐’;
    echo'
      ; foreach($o的期权){ 如果($o==$tab){ echo'
    • '.ucfirst($o)。
    • ; }否则{ 回声“
    • ”.ucfirst($o)。“
    • ”; } } 回声“
    ”;
    如果您在模板范围内,也可以使用PHP的替代语法:

    <?php 
        $options = array("books", "music", "movies", "other");
        $tab = 'music';
    ?>
    <ul class="nav nav-tabs">
    <?php foreach($options as $o): ?>
        <?php if($o == $tab): ?>
            <li class="active"><?php echo ucfirst($o); ?></li>
        <?php else: ?>
            <li><?php echo ucfirst($o); ?></li>
        <?php endif; ?>
    <?php endforeach; ?> 
    </ul>
    
    
    
    $tab='movies';
    

      您是如何生成导航的?基于数据库?在这种情况下,在从数据库检索LAEL时,可以比较它们。否则,从带有标签的数组生成它们,循环遍历标签以生成菜单:

      foreach($labels as $label)
      {
      if($label == $tab)
      {// output active}
      else
      {regular labels}    
      

      不,都是用php生成的。不涉及数据库。很好的方法。我在用这个。
      foreach($labels as $label)
      {
      if($label == $tab)
      {// output active}
      else
      {regular labels}