[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сниппет на php
Stryker2k
Добрый день!

Подскажите пожалуйста (хотя бы на теоретическом уровне), как можно организовать на сайте систему сниппетов в 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. Если существуют еще какие-то методы, было бы интересно посмотреть.

Спустя 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.
Кто может своими словами разьяснить?

данные к-е между этими функциями, к-е должны были вывестись на экран, они не выводятся а копируются в переменную. Примерно так.
Быстрый ответ:

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