Выполнение скрипта из строки

Статус
В этой теме нельзя размещать новые ответы.

litvinenko

Новичок
Выполнение скрипта из строки

Добрый день.
Искал на форуме - не нашел. Может быть плохо искал. Скажите пожалста тогда, где искать.
В нете тоже не нашел.
Ситуация такая:

Разбираю xml-файл. Один из элементов содержит такой текст:
PHP:
(url:/ && query:test=1) || url:/test/
Проблема:

Путем использования рег. выражений я зыменяю url: и query: на переменные.
т.е. после преобразований у меня получается:

PHP:
($uri == '/' && $query_str == 'test=1') || $uri == '/test/'
Затем я хочу выполнить этот кусок кода в операторе if()
Другими словами я хочу подставить это в выражение, чтобы оно имело такой вид:
PHP:
If(($uri == '/' && $query_str == 'test=1') || $uri == '/test/')
как будто я бы это написал руками.

Так вот я не могу понять, как мне это надо сделать.

Подскажите пожалуйста, что мне делать, де почитать, на что обратить внимание и в нужном ли я вообще направлении иду.
Спасибо.
 

litvinenko

Новичок
в xml хранятся элементы с таким вот условием и телом. Если условие отжигает - отображать тело.
 

Фанат

oncle terrible
Команда форума
litvinenko
условия пишут не в XML, а в XSLT.
а разбирать XML в PHP совсем не нужно.
ты идешь в чудовищно неправильном направлении
 

litvinenko

Новичок
Ок. Спасибо.
А как тогда можно организовать то, что мне надо:
в зависимости от того, какой урл указан отображать тот или иной кусок чего-то, взятый из xml-файла?
Вообще мне говорили это сделать в виде плагина к смарти.
Буду очень благодарен ссылкам на полезные ресурсы, идеям.
 

Фанат

oncle terrible
Команда форума
написать к смарти плагин по разбору XML? гениально. Обязательно напиши. все фирмы, которые клепают сайты на XSLT тут же разорятся. И яндекс - первый из них.

откуда у тебя берется XML? зачем он тебе вообще нужен? почему ты не разбираешь его средствами, для этого предназначенными?

-~{}~ 10.09.07 17:06:

самый главный вопрос: объясни, почему все, поголовно, 100% программистов пишут логику - какую именно информацию отображать - в скрипте, а ты, такой весь из себя оригинальный, решил записать её в файл с данными?
 

litvinenko

Новичок
xml-данные я разбираю классом, который для этого и предназначен.

Есть кусок xml-файла:
PHP:
<item>
<condition><![CDATA[(url:/ && query:test=1) || url:/test/]]></condition>
<data><![CDATA[test]]></data>
</item>
В результате разбора я получаю в переменной строку вида:
PHP:
(url:/ && query:test=1) || url:/test/
так вот если в шаблоне вызвать плагин с параметром:
PHP:
{my_plugin url="/test/"}
То должно на экран вывестить "test", так как в свойстве url я указал урл, который есть в строке
<condition><![CDATA[(url:/ && query:test=1) || url:/test/]]></condition>

Извините, что невнятно объясняю и скорее всего говорю глупости (
 

Фанат

oncle terrible
Команда форума
скажи пожалуйста, а зачем ты повторил второй раз то же самое, что написал в первом сообщении? ты думаешь - мы такие тупые?

почему бы тебе не ответить на вопросы, которые я тебе написал?

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

litvinenko

Новичок
вот я и спрашиваю, как можно это сделать, или как правильно это сделать.
я же не прошу сделать за меня все, я прошу идею или ссылку, так как сам, к сожалению, не нашел.
 

Фанат

oncle terrible
Команда форума
черт возьми. чтобы сказать тебе, как сделать правильно, надо знать - что именно ты делаешь. ты можешь внятно написать, не повторяя один и тот же код?
 

litvinenko

Новичок
Задача стоит такая:
сделать плагин к смарти, который бы по различным указанным урлам и query_string выводил бы на экран различные текстовые блоки, которые хранятся в xml-файле.
Пример вызова плагина:
PHP:
{my_plugin url="/test/?query=4"}
При этом сделать возможность построения логических конструкций условий отображения текстовых блоков.
Т.е. к примеру один и тот же текстовый блок может отображаться как при указанном урле: /test/?query=4, так и при урле: /products/

Вот такая задача.
 

Фанат

oncle terrible
Команда форума
для чего нужна такая задача

-~{}~ 10.09.07 17:38:

какого хрена логика приложения пихается в шаблонизатор?
почему за "что показываем" отвечает не скрипт, а шаблон?
почему тебе не подходят десятки реализаций ЧПУ, которые как раз и занимаются тем, что "по различным указанным урлам и query_string выводил бы на экран различные текстовые блоки", а понадобилось обязательно пихать в шаблонизатор?
 

Фанат

oncle terrible
Команда форума
наконец-то. родил.

вынес в новую тему, а эту закрываю.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху