[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как понять где находится переменная
McLotos
Всем привет =)
В общем вопрос состоит в том чтобы понять как расположена переменная в шаблоне.
Ну допустим есть несколько строк
<script src="{HEAD.Scripts}"></script>
<div
class="block" id="{GOODS.Name}">

С первой строкой всё понятно. т.е. если придёт одно значение для {HEAD.Scripts} то просто str_replace, если придёт несколько значений. то str_replace в цикле (чтобы вывести эту строку столько раз сколько передано значений)
А что делать с div?
Логически нужно найти конец этого div и вывести весь блок столько раз сколько передано значений для этой переменной.

А подскажите, может кто знает реализацию по проще?
А то приходится объяснять скрипту про вложенности html-тэгов, а это гора кода

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
twin! =)
в Вашем парсере это решается комментами, которые показывают начало и конец блока, а как сделать без них?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
никто не знает? =(
Ну хотя бы маааааааленькую подсказку

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
bestxp
цикл сделай аналоги for foreach в шаблон
twin
Цитата (McLotos @ 16.07.2014 - 13:05)
никто не знает? =(
Ну хотя бы маааааааленькую подсказку

Ну ты же сам ответил. Нужно искать закрывающий тег. Причем как я понял, это может быть не только div, а всё, что угодно. И еще с кучей вложеностей. Теоретически можно считать открывающие и закрывающие теги, но вот практически я такой код писать не рискнул бы.

Посмотри тут, может что пригодится.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
McLotos
twin
Цитата (twin @ 16.07.2014 - 20:34)
Причем как я понял, это может быть не только div

правильно понял =)
Цитата (twin @ 16.07.2014 - 20:34)
И еще с кучей вложеностей

именно
Цитата (twin @ 16.07.2014 - 20:34)
Теоретически можно считать открывающие и закрывающие теги

да. я так и делаю. Я запоминаю позиции всех открывающих div и позиции всех закрывающих div, потом даю каждой паре своё уникальное имя, а дальше отслеживаю вложенность пар друг в друга

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
twin
Я думал об использовании DOM. но

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.