PHP: Convert <ul> <li> Baum-HTML-Tags in ein array

Ich bin mit jsTree und ich brauche, um zu konvertieren HTML-tag-Struktur-code <ul> <li> an ein PHP-array.
Der jsTree-HTML-tag wird übergeben an PHP geparst, und speichern Sie in einem strukturierten Baum PHP-array(siehe unten den PHP-array Struktur).

Zusätzliche Frage: Ist meine gewünschte PHP-array Struktur gut oder können Sie empfehlen eine gute Struktur? Ich bin offen für Vorschläge.

Vielen Dank im Voraus 🙂

Cheers,
Daneben

jsTree Screenshot:

PHP: Convert <ul> <li> Baum-HTML-Tags in ein array

HTML-Tree String:

<ul class="ltr">
<li id="phtml_1" class="  open">
    <a style="" class=" " href="#"><ins>&nbsp;</ins>Folder 1</a>
    <ul>
    <li class="leaf" id="phtml_2">
        <a style="" class=" " href="#"><ins>&nbsp;</ins>Child 1.1</a>
    </li>
    <li class="open" id="phtml_3">
        <a style="" class=" " href="#"><ins>&nbsp;</ins>Folder 1.1</a>
        <ul>
        <li class="leaf last" rel="default">
            <a href="" style="" class=" "><ins>&nbsp;</ins>Child 1.1.1</a>
        </li>
        </ul>
    </li>
    <li class="last open" rel="default">
        <a href="" style="" class=" "><ins>&nbsp;</ins>Folder 1.2</a>
        <ul>
        <li class="leaf" rel="default">
            <a href="" style="" class=" "><ins>&nbsp;</ins>Child 1.2.1</a>
        </li>
        <li class="leaf last" rel="default">
            <a href="" style="" class=" "><ins>&nbsp;</ins>Child 1.2.2</a>
        </li>
        </ul>
    </li>
    </ul>
</li>
<li id="phtml_5" class="file open">
    <a style="" class=" " href="#"><ins>&nbsp;</ins>Folder 2</a>
    <ul>
    <li class="leaf" rel="default">
        <a href="" style="" class=" "><ins>&nbsp;</ins>Child 2.1</a>
    </li>
    <li class="leaf last" rel="default">
        <a href="" style="" class="clicked"><ins>&nbsp;</ins>Child 2.2</a>
    </li>
    </ul>
</li>
<li class="leaf last" rel="default">
    <a href="" style="" class=" "><ins>&nbsp;</ins>Outer Child</a>
</li>
</ul>

PHP-Array Struktur:

<?php
$tree_array = array(
    'Folder 1' => array(
        'Child 1.1',
        'Folder 1.1' => array(
            'Child 1.1.1'
        ),
        'Folder 1.2' => array(
            'Child 1.2.1',
            'Child 1.2.2'
        ),
    ),
    'Folder 2' => array(
        'Child 2.1',
        'Child 2.2'
    ),
    'Outer Child'
);

echo '<pre>',print_r($tree_array),'</pre>';
?>

PHP print_r Ausgabe:

Array
(
    [Folder 1] => Array
        (
            [0] => Child 1.1
            [Folder 1.1] => Array
                (
                    [0] => Child 1.1.1
                )

            [Folder 1.2] => Array
                (
                    [0] => Child 1.2.1
                    [1] => Child 1.2.2
                )

        )

    [Folder 2] => Array
        (
            [0] => Child 2.1
            [1] => Child 2.2
        )

    [0] => Outer Child
)
  • I. e. Sie beginnen mit einem fragment von HTML und wollen, um am Ende mit einem PHP-array?
  • Ja. Ich bin momentan dabei, einen jsTree-editor mit den Schaltflächen zum hinzufügen, Bearbeiten, löschen, verschieben, kopieren, einfügen und umbenennen von Funktionen. Nach dem Bearbeiten der user, die ich brauche, um speichern Sie die HTML-tag-Baumstruktur. Mein problem ich habe eine harte Zeit Parsen der string HTML-Tags und speichern Sie es in einem PHP-array.
InformationsquelleAutor marknt15 | 2010-05-12
Schreibe einen Kommentar