Всем доброго! Я вообщем немного запутался и хочу разобраться, что нужно сделать, знающие ткните носом. Ситуация такая: Есть регулярка: Код (PHP): ~{(.+?)}(.+?){/\1\s(.+?)}~si И Есть блок: Код (PHP): {system} <p> Система </p> {/system <p> Схема </p>} Регулярка работает и блок тоже, все казалось бы хорошо, но как только я хочу сделать: Код (PHP): {system} <p> Система </p> {/system <p> Схема {map} Карта {/map} </p>} И тут получается обрыв }: первого нет где map, а в конце остался где </p>. Код (PHP): <p> Схема {map Карта {/map} </p>} Не могу сделать, мне надо чтобы в конце строки глянуло }. И было так: Код (PHP): <p> Схема {map} Карта {/map} </p> Или я туплю просто, упустил что - то, я не могу ничего понять, но оно как-то на половину отрабатывает и я встрял по полной.
чего только не придумают. страшная конструкция Добавлено спустя 1 минуту 41 секунду: а вообще. нужно описать чтоб искало не до первой встреченной } а до первой встреченной непарной } гугли)
Почему страшная? Это мне и нужно, спасибо за совет, я просто не могу составить условие, не получается. Мне бы, хотя бы зацепку, что нужно использовать для поиска "до первой встреченной непарной". Всю жизнь, что и делаем гуглим Ты то шаришь, я знаю... А я вот сколько читаю про эти регулярки, как-то особо тоже и не освоился. Просто хочется для себя понимать, но, а так стараюсь решать - это другими путями.
ну не дизайнерам, а версталам. а на самом деле даже не для них, для себя, потому готовую верстку в шаблон всё равно программер превращает. это всё мифы, что кто-то не-программист берет расчудесный твиг и творит добро.
имхо шаблоны программисту нужны чтоб разделить логику и визуальную часть. к тому же шаблон позволяет одинаковые данные рендерить (ща набежит недовольный терминологией человек) в разные шаблоны. допустим карту сайта можно генерировать одним скриптом и запихивать в html для людей и в xml для поисковиков. удобно, не?
Якобы компилированные шаблоны не интересуют. Зачем из html создавать язык программирования? Мне эти блоки нужны для изменения информации, они не должны знать программирование =) Код (PHP): <img src="{theme}/images/{basket}basket{/basket basket_active}.png" alt="Корзина">
Так сам PHP и есть шаблонитизатор Код (PHP): <img src="<?=$theme?>/images/<?=$basket?>.png" alt="Корзина">
А то я не знал, ты прям открыл находку. Но ты ошибся, я делаю немного другую концепцию для организации шаблона и я не хочу, чтобы у меня была смесь ядерного взрыва. По теме есть, что сказать? Как организовать поиск " до первой встреченной непарной } " ? Если нет! Лучше промолчи. Код (PHP): <div class="basket"> {empty} <div class="scroll basketScroll"> <table> {basketPresents} {basket} </table> </div> <div class="bottom"></div> <div> Итого: {allsumm} руб. </div> <div class="bottom"></div> <a href="" class="link"> Оформить заказ </a> <div class="bottom"></div> <a href=""> Очистить корзину </a> {/empty <div class="bottom"></div>{empty}<div class="bottom"></div>} </div> Мне удобно, тем, что поделена логика, html отдельно от php и все отдельно и js и css, мы можем менять их динамично. Это удобно и здорово. Кстате теги в нутри отрабатываю свободно. Код (PHP): {block} {tag} {/block {tag}} Работает успешно без обрывов. Но только потому, что теги за ранее отрабатывают.