|
|
|
| Всем привет! Есть небольшой классический вариант замены в содержании страницы 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:07)
| | Не, самое главное, что следующий код работает:
<?php
function callback($buf)
{
return (ereg_replace("О", "Б", $buf));
}
ob_start("callback");
include("menu.html");
ob_end_flush();
?>
|
Возникает естественный вопрос; Почему нельзя обойтись без вызова callback() ???? Я понимаю, что для программера главное - чтоб работало и не трогай :), НО мне так, чисто ради повышения уровня знаний PHP интересно! | |
|
|
|
|
|
|
|
для: Sake
(21.10.2008 в 08:07)
| | str_replace("О", "Б", $buf); заменяется на $buf = str_replace("О", "Б", $buf); и все волшебным образом начинает работать ) | |
|
|
|
|
|
|
|
для: mechanic
(21.10.2008 в 09:16)
| | Капец, бывает же глюк поймаешь!!! :) Но вообще-то я думал, что ф-я str_replace автоматически сохраняет изменения в переменной $buf после её вызова... СПАСИБО!!!. | |
|
|
|