Php 修改以删除初始ul标签

Php 修改以删除初始ul标签,php,Php,如何调整此代码,以便从生成的列表中删除第一个ul标签?甚至有可能做到这一点吗 这就是我想要得到的结果: <ul> <--remove this initial tag <li></li> <li></li> </ul> <ul> <li></li> <li></li> </ul> 设置除雾器。请注意,首先将$添加到函数

如何调整此代码,以便从生成的列表中删除第一个ul标签?甚至有可能做到这一点吗

这就是我想要得到的结果:

<ul>  <--remove this initial tag
   <li></li>
   <li></li>
</ul>
<ul>
   <li></li>
   <li></li>
</ul>

设置除雾器。请注意,首先将$添加到函数变量中,然后对底部的每一次调用都添加FALSE

function buildMenu($parent, $menu, $first = TRUE)
{
   $menulist = "";
   if (isset($menu['parents'][$parent]))
   {
       $menulist .= $first ? "" : "<ul>\n";
       foreach ($menu['parents'][$parent] as $itemId)
       {
          if(!isset($menu['parents'][$itemId]))
          {
             $menulist .= "   <li><a href='".$menu['items'][$itemId]['menuURL']."'>".$menu['items'][$itemId]['menuName']."</a></li> \n";
          }
          if(isset($menu['parents'][$itemId]))
          {
             $menulist .= "   <li><a href='".$menu['items'][$itemId]['menuURL']."'>".$menu['items'][$itemId]['menuName']."</a>";
             $menulist .= buildMenu($itemId, $menu, FALSE);
             $menulist .= "</li> \n";
         }
         }
         $menulist .= "</ul> \n";
   }
   return $menulist;
}?>
函数构建菜单($parent,$menu,$first=TRUE)
{
$menulist=“”;
如果(isset($menu['parents'][$parent]))
{
$menulist.=$first?”:“
    \n”; foreach($menu['parents'][$parent]作为$itemId) { 如果(!isset($menu['parents'][$itemId])) { $menulist.=“
  • \n”; } 如果(isset($menu['parents'][$itemId])) { $menulist.=“
  • ”; $menulist.=buildMenu($itemId,$menu,FALSE); $menulist.=“
  • \n”; } } $menulist.=“
\n”; } 返回$menulist; }?>
更换

$menulist .= "<ul>\n";
$menulist.=“
    \n”;

$menulist.=strlen($menulist)?“
    \n”:”;
删除
ul
元素会创建无效的HTML?没错,我的计划是手动添加初始ul标记以及一些css的类标记。我尝试将其直接添加到上面的代码中,但它将class标记添加到函数生成的每个ul标记中。。。。。选项2是找到一种方法,将class标记添加到初始ul标记中。这将始终将
    \n”
附加到
$menulist
中,因为该行不在循环中。它在
if
语句中。
$menulist .= "<ul>\n";
$menulist .= strlen($menulist) ? "<ul>\n":"";