Тексты выводятся с базы на страницу простым оператором echo
Но вот проблема. Есть текст в теле которого присутствует переменная. При выводе такого текста эта переменная интерпретируется как текст и значение в нее не подставляется. Как сохранить текст с переменной в базу, а затем его вывести что бы в переменную подставлялись значения?
Например в базе хранится следующий текст.
<p>Моему дедушке $k лет исполнилось вчера.</p>
Вывод текста
<?
извлечение текста в переменную $text;
$k = 80;
echo $text;
?>
После такого вывода получается
Моему дедушке $k лет исполнилось вчера.
А как получить
Моему дедушке 80 лет исполнилось вчера.
Заранее спасибо!!!
Спустя 7 минут, 14 секунд (14.04.2010 - 10:52) phz написал(а):
Попробуйте записать в базу
Хотя нет, есть функция eval
Моему дедушке ".$k." лет исполнилось вчера
Хотя нет, есть функция eval
Спустя 3 минуты, 47 секунд (14.04.2010 - 10:56) phillipJfry написал(а):
Пробовал, выводится точно так на экран
Моему дедушке ".$k." лет исполнилось вчера
Моему дедушке ".$k." лет исполнилось вчера
Спустя 8 минут, 21 секунда (14.04.2010 - 11:04) twin написал(а):
eval() лучше не рисковать применять к тексту из базы. Если пройдет sql инъекция, то автоматически появится полный доступ к фс.
Лучше делать заменой.
Лучше делать заменой.
Моему дедушке {YEAR} лет исполнилось вчера
$k = 80;
echo str_replace('{YEAR}', $k, $text);
Спустя 2 минуты, 23 секунды (14.04.2010 - 11:07) ZSH написал(а):
попробуй
в двойных кавычках
echo "$text";
в двойных кавычках
Спустя 13 минут, 51 секунда (14.04.2010 - 11:20) twin написал(а):
ZSH
Вот этого никогда не нужно делать.
Вот этого никогда не нужно делать.
Спустя 8 минут, 11 секунд (14.04.2010 - 11:29) phillipJfry написал(а):
Цитата (twin @ 14.04.2010 - 08:04) |
eval() лучше не рисковать применять к тексту из базы. Если пройдет sql инъекция, то автоматически появится полный доступ к фс. Лучше делать заменой. Моему дедушке {YEAR} лет исполнилось вчера $k = 80; |
большое спасибо!!! все заработало

А как быть с eval(), куда его подставлять?
Спустя 9 часов, 57 минут, 48 секунд (14.04.2010 - 21:26) MatrixGod написал(а):
в двойные кавычки переменную засунь...
echo("Моему дедушке $k лет исполнилось вчера.");