亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在數組中的每組 li 之前找到 li 并注入 ul

如何在數組中的每組 li 之前找到 li 并注入 ul

PHP
繁花如伊 2023-07-21 18:24:44
我有一個 html 標簽的索引數組,每個索引都包含 html 開始和結束標簽及其值。我想修改其中一些,例如我希望 li 標簽用 ul 包裹在它們周圍。但具有相同的數組順序。Array([0] => <li>some text</li>[1] => <pre>text area data</pre>[2] => <li>some value</li>)這就是我想要的樣子 Array([0] => <ul>[1] => <li>some text</li>[2] => </ul>[3] => <pre>text area data</pre>[4] => <ul>[5] => <li>some value</li>[6] => </ul>)    $arr2 = [];    $a=0;    foreach($arr1 as $k => $v)    {        if($a == 0)        $arr2[] = '<ul>';        $a=1;               if(strpos($v, '<li>') !== false){        $arr2[] = $v;    }
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

此代碼跟蹤您當前是否在列表中,然后針對每個項目檢查它是否以開頭<li>以及狀態。


如果它<li>不在列表中,則添加<ul>第一個并設置狀態,如果不是,<li>則在列表中添加</ul>。


為了確保它關閉任何列表,在循環之后如果它在列表中,那么它會關閉標簽......


$arr2 = [];

$inList = false;

foreach($arr1 as $index => $value)

{

    if ( substr(trim($value), 0, 4) == "<li>" ) {

        if ( ! $inList )    {

            $arr2[] = '<ul>';

            $inList = true;

        }

    }

    else    {

        if ( $inList )  {

            $arr2[] = '</ul>';

            $inList = false;

        }

    }

    $arr2[] = $value;

}

if ( $inList )  {

    $arr2[] = '</ul>';

    $inList = false;

}


查看完整回答
反對 回復 2023-07-21
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號