如何在php中将列表数据转换为表

如何在php中将列表数据转换为表,php,wordpress,html-parsing,Php,Wordpress,Html Parsing,我正在用wordpress创建一个曲棍球网站。我有一个曲棍球运动员的自定义菜单,我使用wp_nav_菜单获得如下html: <ul id="example-menu"> <li><a href="/example/">[3] [DeBlois] [USA] [20 yr] [5’11] [185 lbs]</a></li> <li><a href="/example/">[35] [Baldino] [USA]

我正在用wordpress创建一个曲棍球网站。我有一个曲棍球运动员的自定义菜单,我使用wp_nav_菜单获得如下html:

<ul id="example-menu">
<li><a href="/example/">[3] [DeBlois] [USA] [20 yr] [5’11] [185 lbs]</a></li>
<li><a href="/example/">[35] [Baldino] [USA] [20 yr] [5’11] [185 lbs]</a></li>
<li><a href="/example/">[2] [Esch] [USA] [20 yr] [5’11] [185 lbs]</a></li>
</ul>
在将其回传到页面上之前,我想将其分解为一个数组,并将其重新组合到一个表中,这样每一列都能很好地排列起来。我还需要用图形替换[USA]部分,一旦我将列表放入数组中,这将很容易完成


通过这种类型的html解析的最佳方式是什么?我可以在WP中使用不同的功能吗?

如果你按照dmcnelis的建议从另一个网站上进行抓取,你可以考虑在剥离“[”时使用和的组合,然后在“]”字符上使用。

你可以使用

'<li>'
'] [' 

获取COL。

它从哪里返回?或者你正在抓取另一个网站?理想情况下,你应该在返回HTML之前构建数组。对不起,我之前应该这么说。我正在使用wordpress在网站上创建自定义菜单。他们想要更多关于链接的技术信息,而不是我可以通过界面轻松创建的信息,而我仍然需要降低客户端以管理更新…因此,在我的菜单项标题中,我添加了[]的想法,使其更易于操作。我也没有看到从wp_nav_menu()获取原始菜单项的函数;我不明白。您不想要[]删除。如果是这样,请删除我进行str_替换的行。我不理解您所说的更多技术信息是什么意思
<?php

$html = '<ul id="example-menu">
<li><a href="/example/">[3] [DeBlois] [USA] [20 yr] [5’11] [185 lbs]</a></li>
<li><a href="/example/">[35] [Baldino] [USA] [20 yr] [5’11] [185 lbs]</a></li>
<li><a href="/example/">[2] [Esch] [USA] [20 yr] [5’11] [185 lbs]</a></li>
</ul>';


$doc = new DOMDocument();
@$doc->loadHTMl( $html);
$link_array =  $doc->getElementsByTagName('a');


$result = array();

foreach($link_array as $element )
{
    $value  = $element->nodeValue;
    $value = str_replace('[','',$value);
    $value = str_replace(']','',$value);

    $row =  explode(" ",$value);

    $result[] = $row;
    unset($row);
}

echo "<pre>";
print_r($result);
echo "</pre>";
?>
    Array
(
    [0] => Array
        (
            [0] => 3
            [1] => DeBlois
            [2] => USA
            [3] => 20
            [4] => yr
            [5] => 5’11
            [6] => 185
            [7] => lbs
        )

    [1] => Array
        (
            [0] => 35
            [1] => Baldino
            [2] => USA
            [3] => 20
            [4] => yr
            [5] => 5’11
            [6] => 185
            [7] => lbs
        )

    [2] => Array
        (
            [0] => 2
            [1] => Esch
            [2] => USA
            [3] => 20
            [4] => yr
            [5] => 5’11
            [6] => 185
            [7] => lbs
        )

)