Здравствуйте, гость ( Вход | Регистрация )
Aug 23 2008, 18:42
IP: 10.10.0.0/16 | Сообщение
#1
|
|
![]() Пикачу, проголодался ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 882 Регистрация: 20-August 04 Из: Красноярск Пользователь №: 95 Вес: 4 кг
Удалено: 18.41% |
Есть четыре файла
Код index.php main.html template.php block.php Что есть в index.php!? Код $tpl->load('main.html') Этот код обрабатывает, template.php? находит этот файл получает его содержимое и выводит на экран, НО... В файле main.html есть строка Код Сюда {block.php} нужно вставить php файл block.php Сам файл block.php содержит вывод данных из массива. Вопрос: Как же сделать, чтобы в main.html, вместо {block.php} - вставилась ссылка или что то вроде этого на файл block.php. Чтобы, когда template.php получил содержимое файла main.html, нашёл там {block.php} и сделал так что именно в это место вставиться результат того, что произойдёт в block.php? Уже час ломаю голову - не могу придумать. ---------------23rd August 2008 - 19:42------------- Сори, у меня видимо крыша едет. Решение: В файл block.php организовать return со строкой результата! В файле template.php при нахождении вхождения: Код $data = require_once "block.php"; $data вставить вместо вхождения. -------------------- Ernest
ftp://Ernest |
|
|
|
![]() |
Aug 23 2008, 19:06
IP: 10.10.0.0/16 | Сообщение
#2
|
|
![]() Новичок ![]() Группа: Новичок Сообщений: 24 Регистрация: 14-January 08 Из: вЋ›вЋівЋћ Пользователь №: 10083 Вес: 5 кг
Удалено: 20.00% |
Правдо не совсем понял что ты имел ввиду, но держи:
CODE <?php error_reporting('0'); $temaplate = file_get_contents('./main.html'); function parse($template, $assigned=array()) { foreach( $assigned as $word => $replace) { $template = preg_replace( "/\{$word\}/i", "$replace", $template ); } return $template; } $block = eval(file_get_contents('./block.php')); // выполняем блок.пхп // replace $header = parse($temaplate, array( 'block.php' => $block )); echo $header; ?> То есть считываем файл main.html на предмет {var}, затем меняeм {var} на выполненый block.php Думаю, на примере будет понятней: Файл index.php: CODE <?php error_reporting('0'); $temaplate = file_get_contents('./main.html'); function parse($template, $assigned=array()) { foreach( $assigned as $word => $replace) { $template = preg_replace( "/\{$word\}/i", "$replace", $template ); } return $template; } $block = eval(file_get_contents('./block.php')); $header = parse($temaplate, array( 'block.php' => $block )); echo $header; ?> Файл main.html: CODE <html> <head> <title>test</title> </head> <body> {block.php} <br/><br/><br/><br/> test test main.html </body> </html> Файл block.php: CODE error_reporting('0'); echo 'File block.php included!'; Собственно ничего сложного... [Added]: ой, не дочитал до конца, ты уже разобрался =).. Сообщение отредактировал kib0rg - Aug 23 2008, 19:17 -------------------- ![]() |
|
|
|
Aug 23 2008, 19:41
IP: 10.10.0.0/16 | Сообщение
#3
|
|
![]() Пикачу, проголодался ![]() ![]() ![]() ![]() ![]() Группа: Members Сообщений: 882 Регистрация: 20-August 04 Из: Красноярск Пользователь №: 95 Вес: 4 кг
Удалено: 18.41% |
Правдо не совсем понял что ты имел ввиду, но держи: Код <?php error_reporting('0'); $temaplate = file_get_contents('./main.html'); function parse($template, $assigned=array()) { foreach( $assigned as $word => $replace) { $template = preg_replace( "/\{$word\}/i", "$replace", $template ); } return $template; } $block = eval(file_get_contents('./block.php')); // выполняем блок.пхп // replace $header = parse($temaplate, array( 'block.php' => $block )); echo $header; ?> То есть считываем файл main.html на предмет {var}, затем меняeм {var} на выполненый block.php Думаю, на примере будет понятней: Файл index.php: Код <?php error_reporting('0'); $temaplate = file_get_contents('./main.html'); function parse($template, $assigned=array()) { foreach( $assigned as $word => $replace) { $template = preg_replace( "/\{$word\}/i", "$replace", $template ); } return $template; } $block = eval(file_get_contents('./block.php')); $header = parse($temaplate, array( 'block.php' => $block )); echo $header; ?> Файл main.html: Код <html> <head> <title>test</title> </head> <body> {block.php} <br/><br/><br/><br/> test test main.html </body> </html> Файл block.php: Код error_reporting('0'); echo 'File block.php included!'; Собственно ничего сложного... [Added]: ой, не дочитал до конца, ты уже разобрался =).. Супер, мне твоё исполнение даже больше нравится! -------------------- Ernest
ftp://Ernest |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 15th December 2025 - 20:46 | |