Подскажите пожалуйста (хотя бы на теоретическом уровне), как можно организовать на сайте систему сниппетов в HTML коде.
То есть, имеется HTML код (который находится в php-файле):
<?php
// какой-то php-код
?>
<!-- какой-то html-код -->
<div>
{snippet}
</div>
При этом на месте {snippet} исполняется (именно исполняется, а не выводится на экран) какой-то нужный php код (который может быть задан выше или подключаться из файла snippet.php и т.д.).
Примерно такая система сниппетов организована на DLE и других CMS.
Спустя 30 минут, 45 секунд (27.07.2012 - 18:10) vital написал(а):
ob_start();
require 'snipet.php'
ob_end();
$content = ob_get_contents();
$fullpage = str_replace('{snippet}', $content, $fullpage);
echo $fullpage;
Спустя 7 часов, 16 минут, 35 секунд (28.07.2012 - 01:27) Stryker2k написал(а):
Спасибо, про функции ob_ не знал по причине недостатка познаний.
P.S. Если существуют еще какие-то методы, было бы интересно посмотреть.
P.S. Если существуют еще какие-то методы, было бы интересно посмотреть.
Спустя 2 минуты, 8 секунд (28.07.2012 - 01:29) NierRa написал(а):
Не совсем понимаю назначение функции ob_start/finish.
Кто может своими словами разьяснить?
Кто может своими словами разьяснить?
Спустя 12 часов, 9 минут, 24 секунды (28.07.2012 - 13:39) vital написал(а):
Цитата (Stryker2k @ 28.07.2012 - 00:27) |
Спасибо, про функции ob_ не знал по причине недостатка познаний. P.S. Если существуют еще какие-то методы, было бы интересно посмотреть. |
$content = file_get_contents('snippet.php');
eval($content);
echo str_replace('{snippet}',$some_variable_from_snippet_php_with_result, $full_page)
Спустя 1 минута, 43 секунды (28.07.2012 - 13:40) vital написал(а):
Цитата (NierRa @ 28.07.2012 - 00:29) |
Не совсем понимаю назначение функции ob_start/finish. Кто может своими словами разьяснить? |
данные к-е между этими функциями, к-е должны были вывестись на экран, они не выводятся а копируются в переменную. Примерно так.