当我';我使用的PHP包括?

当我';我使用的PHP包括?,php,Php,我使用include作为标题 我有这个 <li><a href="arrangements.php"><span>Arrangements</span></a></li> <li><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li> <li><a href="events

我使用include作为标题 我有这个

<li><a href="arrangements.php"><span>Arrangements</span></a></li>
<li><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
<li><a href="events.php"><span>Special Events</span></a></li>
  • 我只希望当前打开的任何页面都能获得class=“current” 像这样

    <li class="current"><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
    

  • 尝试以下方法:

    $active = "bouquet";
    include("navigation.php");
    
    <?php
    $menus = array();
    $menus['Arrangements'] = 'arrangements.php';
    $menus['Build-a-Bouquet'] = 'bouquet.php';
    $menus['Special Events'] = 'events.php';
    ?>
    <ul>
    <?php
    $currnet_page = $_SERVER['PHP_SELF'];
    if (! empty($menus)) {
     foreach ($menus as $menu => $menu_link) {
      $isCurrent = ($currnet_page == $menu_link) ? 'current' : '';
    ?>
    <li class="<?php echo $isCurrent;?>"><a href="<?php echo $menu_link;?>"><span><?php echo $menu;?</span></a></li>
    <?php        
      }
     }
    ?>
    </ul>
    
    导航:

    <li<?php if( isset($active) && $active == "arrangements") echo " class='active'";?>><span>Arrangements</span></li>
    ... And so on.
    

    这只是一个简单的例子,
    $\u服务器['PHP\u SELF']
    可以完成这项工作

    <li><a href="arrangements.php"><span>Arrangements</span></a></li>
    <?php
    if($_SERVER['PHP_SELF'] == '/bouquet.php'){
        echo '<li class="current"><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>';
    }else{
        echo '<li><a href="bouquet.php"><span>Build-a-Bouquet</span></a></li>';
    }
    ?>
    <li><a href="events.php"><span>Special Events</span></a></li>
    

  • 您可以这样做:

    $active = "bouquet";
    include("navigation.php");
    
    <?php
    $menus = array();
    $menus['Arrangements'] = 'arrangements.php';
    $menus['Build-a-Bouquet'] = 'bouquet.php';
    $menus['Special Events'] = 'events.php';
    ?>
    <ul>
    <?php
    $currnet_page = $_SERVER['PHP_SELF'];
    if (! empty($menus)) {
     foreach ($menus as $menu => $menu_link) {
      $isCurrent = ($currnet_page == $menu_link) ? 'current' : '';
    ?>
    <li class="<?php echo $isCurrent;?>"><a href="<?php echo $menu_link;?>"><span><?php echo $menu;?</span></a></li>
    <?php        
      }
     }
    ?>
    </ul>
    
    
    

      有几种方法可以做到这一点。选择一个你喜欢的:

      (一) 设置所需的$current\uVar并使用:

      <li><a<? echo isset($current_arrangements) ? 'class="current"' : ''; ?>href="arrangements.php"><span>Arrangements</span></a></li>
      <li><a<? echo isset($current_bouquet) ? 'class="current"' : ''; ?>href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
      <li><a<? echo isset($current_special_events) ? 'class="current"' : ''; ?>href="events.php"><span>Special Events</span></a></li>
      
    • 2) 同上,但使用一个变量并检查其值(与Niet the Dark Absol所写的方式完全相同)

      3) 把它包装成某种函数

      <?
      // Echo Class If Current
      function ecic($page) {
       echo eregi($page, $_SERVER['PHP_SELF']) ? 'class="current"' : '';
      }
      ?>
      
      
      <li><a <? ecic('arrangements'); ?>href="arrangements.php"><span>Arrangements</span></a></li>
      <li><a <? ecic('bouquet'); ?>href="bouquet.php"><span>Build-a-Bouquet</span></a></li>
      <li><a <? ecic('events'); ?>href="events.php"><span>Special Events</span></a></li>
      
      
      

    • 顺便说一句:从PHP5.3.0开始,在大多数常见的PHP配置中,您只能使用
      eregi
      。对于本例,您可以使用
      stristr