Как отредактировать файл и вывести в браузер
Есть кешированные html страницы на хостинге. Необходимо их выводить в браузер пользователя, для чего используется такой код:
if($dh = @fopen(@$cachefile, "r"))
{
fpassthru($dh);
exit;
}
Но теперь появилась задача: в определённых случаях редактировать кешированный файл перед выводом в браузер пользователя. Т.е. нужно выполнить подобное:
if($dh = @fopen(@$cachefile, "r"))
{
str_replace("%body%", "black", $dh); // Заменить часть контента
fpassthru($dh);
exit;
}
Как это лучше всего сделать?
Ответы (1 шт):
Автор решения: HardlinePeak
→ Ссылка
Предлагаю использовать:
<?php
$page = @file_get_contents($cachefile);
if ($page === false)
exit("Ошибка: Не удалось прочитать файл!");
// Замена текста
$page = str_replace("%old_text%", "new text", $page);
// Лично я использую массив для замены множества значений
$arguments = [
"%old_text_2%" => "new text 2"
];
foreach ($arguments as $key => $value)
$page = str_replace($key, $value, $page);
echo $page;