Решаю такую задачу в написании своего фреймворка и cms: из базы данных подгружаются небольшие фрагменты html кода, а также php-скрипты.
В базе запись выглядит так, например:
<div style="font-size: 18px;"><? echo "тест";?></div>
При выводе, пишу так подключение к базе и вывод данных:
$where = 'id = 1';
$Current_page = $BDConnect->select('pages', Array('*'), $where);
foreach ($Current_page as $html) echo $html['text_page'];
В результате на странице пишет тектом текст:
<div><? echo "тест";</div>
Как сделать, чтобы это был не текст, а часть html-кода?
Вам нужно echo
заменить на eval()
. И, так как у Вас это HTML код, то обрамить его тегами
foreach ($Current_page as $html)
eval('?> ' . $html['text_page']);
но помните, что функция eval()
очень опасна из-за возможности исполнить любой код
Из документации
Предостережение Использование eval() может быть очень опасно, поскольку позволяет исполнить произвольный код. Использование данной функции не рекомендуется. Если вы полностью убеждены, что нет иного способа воспроизведения необходимого функционала, обратите особое внимание на исключения обработки таким образом данных, вводимых пользователем, без специальной обработки и валидации.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть готовый сайт для заказа печати книг, сделан на Wordpress WoocommerceЗагрузка макетов для печати происходит через плагин "N-Media File Upload and Manager" в формате...
Когда я шлю запрос с JSON параметром на PHP скрипт то он почему-то возврасщает мне и старый и новый, в PHP сгенерированый масивКто может подсказать...