Как загнать пхп-код в базу данных

espada

Guest
Как загнать пхп-код в базу данных

Можно ли включить пхп-код внутрь записи - чтобы он выполнялся как скрипт, а не выдавался на экран в первозданном виде?

Если вставить <? code ?>, то в браузере выводится текст самого кода, а не то, что он должен сделать.
 

Кром

Новичок
Правильно - не вставлять переменные в базу. Это безграмотный и отвратительный стиль программирования.
Переменная должна находиться в скрипте. Там ее место. Данные должны лежать в базе - там их место.
Шаблон должен лежать в файлах. Файлы в папках.
Если необходимо заменить фрагмент данных на что-либо другое используй регулярые выражения.
Если кто-то скажет, что тебе поможет eval(), плюнь ему в лицо.
 

espada

Guest
А если мне надо нечто одно и то же втыкать посреди текста, расположенного в базе? Сейчас я это делаю яваскриптом, но он глючит. Аналогичный пхп-скрипт не глючит, но его не получается вызвать.
 

espada

Guest
Совсем непонятно.

Конкретизирую. Имеется в поле базы данных такой примерно текст:

January <span class=trans>[<strike>Dj</strike><u>a</u><sub>e</sub>nju<sup>e</sup>ri]</span>
<p class=unicod><script src=/f.js></script>[&#658;&#230;&#769;nju&#601;r&#618;]

Разбить его по разным полям (чтобы вывести теги из базы в скрипт) не получается, потому что в разных записях разное число абзацев.

Я ищу способ оптимизировать такую запись вообще (чтобы не писать раз за разом повторяющиеся теги) - но главное - мне надо заменить яваскрипт f.js на пхп-код. Буду благодарен тому, кто прямо на этом примере объяснит, что надо делать.
 

ns

Guest
Я тоже встретился с такой проблемой и решением которое я воспользовался было следующим, берем текст из базы
в места где нужно сделать подстановку ставим маркеры, вот такого вида %REPLACE_IT%.

Изымаем данные из базы:
$HTML_FROM_DB="January <span class=trans>[<strike>Dj</strike><u>a</u><sub>e</sub>nju<sup>e</sup>ri]</span>
%REPLACE_IT%<p class=unicod>";

Потом при помощи str_replace заменяем на нужное нам
$HTML=str_replace('%REPLACE_IT%', $my_text['%REPLACE_IT%'],$HTML_FROM_DB);

в $my_text['%REPLACE_IT%'] содержится текст полученный другими функциями.

Если я не ошибаюсь то в последних релизах PHP str_replace
может использовать массивы, а не отдельные переменные как указал я.
 
Сверху