Nasıl un-yuva php listeleri iç içe için

1 Cevap php

Ben böyle bir iç içe Sırasız liste (basitleştirilmiş versiyonu / derinliği değişkendir) var:

<ul>
<li>
<a href="#">Root</a>
  <ul>
    <li>
      <a href="#">Page A</a>
      <ul>
        <li>
        <a href="#" title="Page A1">Page 1 2</a>
        </li>
      </ul>
    </li>
  </ul>
</li>
</ul>

PHP kullanarak, (bu örnek için) 3 listelerinde bu iç içe geçmiş listesi "patlayabilir" için güzel bir yolu var mı?

Yardımlarınız için teşekkürler

Edit:

Beklenen çıkış olacaktır:

<ul>
    <li>
    <a href="#">Root</a>
    </li>
</ul>

<ul>
    <li>
        <a href="#">Page A</a>
    </li>
</ul>

<ul>
    <li>
    <a href="#" title="Page A1">Page 1 2</a>
    </li>
</ul>

1 Cevap

Deneyin:

$lists = '<ul>
<li>
<a href="#">Root</a>
    <ul>
        <li>
            <a href="#">Page A</a>
            <ul>
                <li>
                <a href="#" title="Page A1">Page 1 2</a>
                </li>
            </ul>
        </li>
    </ul>
</li>
</ul>';

$list_array = explode('<ul>', $lists);
foreach($list_array as $list){
    // Now you have a single list, but missing the <ul>
    // at the start. replace that and assign to a variable or whatever.
}