Forum Webscript.Ru

Программирование => PHP => Тема начата: X-Disa от 30 Апреля 2006, 18:17:26

Название: Динамическое изменение кода
Отправлено: X-Disa от 30 Апреля 2006, 18:17:26
Етсь скрипт. Работает он так:

ob_start();

echo "%TITLE%
";

ob_end_flush();

Так вот, как ПОСЛЕ вывода текста изменить его? например заменить %TITLE% на что нибудь? Функция ob_get_contents() вроде выдает генерированный текст, а вот как его изменить?
Название: Динамическое изменение кода
Отправлено: CGVictor от 30 Апреля 2006, 19:11:20
X-Disa
[p]str_replace[/p]
[p]preg_replace[/p]
[p]ob_get_clean[/p]
Название: Динамическое изменение кода
Отправлено: reLax[0x00] от 30 Апреля 2006, 19:33:15
Попробуй примерно так:


function buf_replace ($content) {  
    $pattern = array (
                "%TITLE%",
                "%TITLE%e" //e в конце, если функцию будешь использовать в заменяемой части
                       );  
    $replace = array (
                "NO_TITLE", //Простая замена
                \'"Some data ".other_function ("$1")."End data"\' //С функцией - с кавычками будь внимательней
                       );
$cont = preg_replace ($pattern, $replace, $content);
 
    return $content;
     
}

    ob_start(\'buf_replace\');
?>