Итерация по массиву и замена данных в шаблоне - PullRequest
0 голосов
/ 18 октября 2011

У меня есть 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%%

Ключевые значения массива соответствуют тегам вшаблон.Если ключ сам является массивом, то он просматривает данные, содержащиеся в теге этого ключа (%%).

Я пытался выполнить рекурсивную функцию, но, похоже, он работает только на один уровень глубиной.

У кого-нибудь есть предложения?Спасибо!

1 Ответ

1 голос
/ 18 октября 2011

Я предлагаю вам использовать существующий простой язык шаблонов, который «просто работает» tm , например Усы (есть много других).Я знаю, что усы поддерживают циклический перебор массивов, использовали его, делают работу, легко интегрируются.Доступно для многих языков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...