0

如何解析以下内容

{menu id="123"}
  Random text.
  {menu-item id="123"/}
  Random text.
  {menu-item id="123"/}
{/menu}

成一个数组,像这样

Array(
  [menu] => Array(
    [id] => 123
    [children] => Array(
      [menu-item] = Array(
        [id] => 123
      )
      [menu-item] = Array(
        [id] => 123
      )
    )
  )
)

它类似于 HTML。没有结束标签的标签是自闭合的。

4

1 回答 1

2

嗯 - 如果这就像 html 您可以尝试将其视为 XML 并使用simplexml

试一试吧:

$xmlData = str_replace( array( '{', '}' ), array( '<', '>' ), $sourceData );
$xmlObj = simplexml_load_string( $xmlData );

var_dump( $xmlObj );

生成的对象可能不是您尝试形成的 100% 的结构,但现在实现起来已经容易多了。

期待您的反馈,玩得开心!

于 2013-03-21T07:56:37.250 回答