我有一个带有“标签”的XML文档,它们会根据数组中的数据进行替换。有两种类型的标签,一种是用于定义集合的父标签,另一种是仅由值替换的标签。以下是用于构建和填写模板的数据示例:
$array = array(
'name' => 'name',
'city' => 'city',
'addresses' => array(
array(
'street' => '123',
'city' => 'main'
),
array(
'street' => '123',
'city' => 'main'
'phone' => array(
array(
'home' => '123456', 'work' => '1234567'
)
以下是一个示例模板:
<name>%name%</name>
<city>%city%</city>
%%addresses%%
<street>%street%</street>
<city>%city%</city>
%%phone%%
<home>%%home%%</home>
<work>%%work%%</work>
%%/phone%%
%%/addresses%%
数组的键值与模板中的标记匹配。如果密钥本身是一个数组,那么它将遍历该密钥标记(%%)中包含的数据。
我尝试过做一个递归函数,但它似乎只能工作一层。
有没有人有任何建议?谢谢!
答案 0 :(得分:1)
我建议您使用现有的简单模板语言“只是工作” tm ,如Mustache(还有很多其他的)。我知道Mustache支持循环数组,使用它,完成工作,易于集成。适用于多种语言。