Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите пожалуйста с функцией ob_start()
 
 автор: Sake   (21.10.2008 в 08:07)   письмо автору
 
 

Всем привет! Есть небольшой классический вариант замены в содержании страницы menu.html буквы О на букву Б. Этот вариант не пашет. Просто выводится содержимое без всяких изменений!
Вот код из файла 1.php, в котором вся эта ерунда вызывается:

...
<?php

ob_start
();
include(
"menu.html");                    // файлы menu.html и 1.php - в одной папке
$buf=ob_get_contents();
str_replace("О""Б"$buf);           // ereg_replace("О", "Б", $buf);  - тоже не роляет
ob_end_clean();  
echo 
$buf;

?>

  Ответить  
 
 автор: Sake   (21.10.2008 в 08:31)   письмо автору
 
   для: Sake   (21.10.2008 в 08:07)
 

Не, самое главное, что следующий код работает:


<?php 

function callback($buf
{
  return (
ereg_replace("О""Б"$buf));
}

ob_start("callback");
include(
"menu.html"); 
ob_end_flush();

?>



Возникает естественный вопрос; Почему нельзя обойтись без вызова callback() ???? Я понимаю, что для программера главное - чтоб работало и не трогай :), НО мне так, чисто ради повышения уровня знаний PHP интересно!

  Ответить  
 
 автор: mechanic   (21.10.2008 в 09:16)   письмо автору
 
   для: Sake   (21.10.2008 в 08:07)
 

str_replace("О", "Б", $buf); заменяется на $buf = str_replace("О", "Б", $buf); и все волшебным образом начинает работать )

  Ответить  
 
 автор: Sake   (21.10.2008 в 09:48)   письмо автору
 
   для: mechanic   (21.10.2008 в 09:16)
 

Капец, бывает же глюк поймаешь!!! :) Но вообще-то я думал, что ф-я str_replace автоматически сохраняет изменения в переменной $buf после её вызова... СПАСИБО!!!.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования