【发布时间】:2010-05-12 08:53:56
【问题描述】:
我正在使用 jsTree,我需要将此 HTML 标记树代码 <ul> <li> 转换为 PHP 数组。
jsTree HTML 标签将被传递给 PHP 进行解析并存储在结构化的树 PHP 数组中(PHP 数组结构见下文)。
其他问题:我想要的 PHP 数组结构好还是您可以建议一个好的结构?我愿意接受建议。
提前致谢:)
干杯, 标记
jsTree 截图:
HTML 树字符串:
<ul class="ltr">
<li id="phtml_1" class=" open">
<a style="" class=" " href="#"><ins> </ins>Folder 1</a>
<ul>
<li class="leaf" id="phtml_2">
<a style="" class=" " href="#"><ins> </ins>Child 1.1</a>
</li>
<li class="open" id="phtml_3">
<a style="" class=" " href="#"><ins> </ins>Folder 1.1</a>
<ul>
<li class="leaf last" rel="default">
<a href="" style="" class=" "><ins> </ins>Child 1.1.1</a>
</li>
</ul>
</li>
<li class="last open" rel="default">
<a href="" style="" class=" "><ins> </ins>Folder 1.2</a>
<ul>
<li class="leaf" rel="default">
<a href="" style="" class=" "><ins> </ins>Child 1.2.1</a>
</li>
<li class="leaf last" rel="default">
<a href="" style="" class=" "><ins> </ins>Child 1.2.2</a>
</li>
</ul>
</li>
</ul>
</li>
<li id="phtml_5" class="file open">
<a style="" class=" " href="#"><ins> </ins>Folder 2</a>
<ul>
<li class="leaf" rel="default">
<a href="" style="" class=" "><ins> </ins>Child 2.1</a>
</li>
<li class="leaf last" rel="default">
<a href="" style="" class="clicked"><ins> </ins>Child 2.2</a>
</li>
</ul>
</li>
<li class="leaf last" rel="default">
<a href="" style="" class=" "><ins> </ins>Outer Child</a>
</li>
</ul>
PHP 数组结构:
<?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 输出:
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
)
【问题讨论】:
-
即您从 HTML 片段开始,希望以 PHP 数组结尾?
-
@Salman:是的。我正在创建一个带有添加、编辑、删除、移动、复制、粘贴和重命名功能的按钮的 jsTree 编辑器。用户编辑后,我需要保存 HTML 标签树结构。我的问题我很难解析字符串 HTML 标记并将其保存在 PHP 数组中。