|
|
|
| Сейчас организация следующая: текстовый файл считывается в переменную, затем, заменяются служебные теги на хтмл и содержимое переменной выводится в броузер. Но часто хочется вставть в текст какой-нибудь php код (при построении таблиц, меню и пр.). Естественно, в текстовом файле этот код не интерпретируется. А очень хочется! Как можно поступить в данном случае? | |
|
|
|
|
|
|
|
для: Loki
(28.07.2005 в 19:33)
| | А сами текстовые файлы файл на php читает? | |
|
|
|
|
|
|
|
для: cheops
(28.07.2005 в 19:43)
| | Работает это так:
<?
include "top.php";
$tmp=file($mfile[$r][$gl][$id]);
foreach ($tmp as $file)
{
$file=str_replace(...); //тут последовательно заменяются шаблоны
print $file;
}
include "bot.php";
?>
|
Хотелось бы, чтобы в шаблоны можно было включать исполняемый код или ссылку на него... Наверное, можно схитрить, и вставить в текстовый файл имя функции, которое там находить с помощью регулярных выражений. Но самый ли это удачный вариант? | |
|
|
|
|
|
|
|
для: Loki
(29.07.2005 в 00:24)
| | >Но самый ли это удачный вариант?
Вариант с шаблонном хорош, если PHP-код будет убираться на одной строке... или действительно воспользоваться ссылками
[include]file.php[/include]
|
При разборе для этого шаблона вместо строки
<?php
print "file.php";
?>
|
писать
<?php
include "file.php";
?>
|
PS Хотя сложность проекта будет выше нормы, а читабельность кода пониженная, и как следствие, могут появляться трудноулавливаемые ошибки. Лучше всё-таки PHP как-нибудь вынести за пределы текстовых файлов. | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 00:44)
| | Просто то там, то тут проскакивают странички, с различными меню и прочей лабудой, которая все равно внесена в массив... вот и хочется их формировать автоматичкски. Только, я планировал не инклудить файл, а вызавать функцию из файла типа utils.php. Имеет ли мой вариант какие либо преимущества перед вашим? | |
|
|
|
|
|
|
|
для: Loki
(29.07.2005 в 00:54)
| | Так а utils.php всё-равно нужно как-то инклюдить... | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 00:57)
| | Похоже мы не понимаем друг друга:)
Наверное, я с шаблонами что-то не так замутил. на поверхности 2 варианта реализации: документ предвставляет собой файл, содержащий php код:
<?
echo $shapka; // переменная определена в шаблонах, а тут только выводится на экран
echo "Тут идет текст, например, таблицы";
echo $nogi; // эта переменная тоже из шаблонов
?>
|
при этом файл добавляется простым инклудом, но требуется не забыть везде проставить echo и теги <? ?>
И второй вариант (как сейчас сделано у меня):
{SHAPKA}
Тут идет текст, например, таблицы
{NOGI}
|
После чего текст читается в переменную, прогоняется через str_replace, где спец теги заменяются на значения шаблонов.
Вот и думаю: может перейти к первому варианту? | |
|
|
|
|
|
|
|
для: Loki
(29.07.2005 в 10:09)
| | Мне кажется (субъективно), что первый вариант нагляднее, особенно, если будет расширяться программная часть и потребуется отладка, второй варинат больше ориентирован на текст, когда важнее постоянная редакция текста и PHP-код только отвлекает от редакторской работы. | |
|
|
|
|
|
|
|
для: cheops
(29.07.2005 в 11:56)
| | ну чтож... пойдем по более наглядному пути:) | |
|
|
|