Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/131: Рейтинг темы: голосов - 131, средняя оценка - 4.82
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155

Вывод переменных РНР в HTML страничке

04.12.2010, 14:35. Показов 27208. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно название темы бредовое, но суть вопроса такова - к примеру есть HTML страничка дизайна для сайта написанного на РНР. В ее тело вставлена переменная РНР в таком виде(пример)
HTML5
1
2
3
<body>
$TEXT
</body>
и так далее по стандарту. Как сделать что бы эта переменная обрабатывалась выводом странички? То есть к примеру эта переменная берется где то из БД РНР скриптом и всовывается в исходящий HTML.
З.Ы. Написанное выше професионалами может быть расценено как полный бред Прошу строго не судить.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2010, 14:35
Ответы с готовыми решениями:

Вывод фото на html-страничке
Подскажите как такое сделать: задумал сделать галерку на html. все работает, НО for ($s1=1; $s1&lt;=$s; $s1++) { } в этом...

Обновить форму на .html страничке
Доброго времени суток! Я в Django новичок и хочу обновить форму на страничке popup.html в моем дополнении для Хрома. Проблема в том, что...

Позиционирование кнопки на html страничке
Говорю сразу: я не опытная. Кому покажется данный вопрос на удивление глупым, прошу прощения) Есть html страничка, фон на ней...

14
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
04.12.2010, 15:22
так новерна
<body>
PHP
1
2
3
<?php
echo $TEXT;
?>
</body>
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
04.12.2010, 15:34
Amator, Вы про шаблоны наверное? Просто в нужных местах делайте пометки типа такой: {text}. А при выводе страницы через PHP-скрипт читайте этот файл с дизайном( file_get_contents() ) и производите замену функцией perg_replace и echo или printf( зависит от того, какие пометки делаете ).
1
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
04.12.2010, 16:15  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Amator, Вы про шаблоны наверное?
Ага) Я такие пометки уже встречал в ЦМС пхпбб. То есть код на РНР для вывода страницы должен выглядеть так
PHP
1
2
3
<?php
echo (preg_replace(file_get_contents('/template.html')));
?>
Так что ли? Или можно как то сделать этот кусок более красивым?
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
04.12.2010, 17:07
PHP
1
2
3
4
5
6
7
8
<?php
$tmp = file_get_contents( 'MyDesign.tmp' );
$title = 'Заголовок моей страницы';
$content = 'Содержимое моей страницы!';
$patterns = array( '/{title}/', '/{content}/' );
$replace = array( $title, $content );
echo preg_replace( $patterns, $replace, $tmp );
?>
Код в MyDesign.tmp
HTML5
1
2
3
4
5
6
7
8
<html>
    <head>
        <title>{title}</title>
    </head>
    <body>
        {content}
    </body>
</html>
Добавлено через 41 секунду
Это сокращенный вариант, как Вы уже поняли
1
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
04.12.2010, 19:25  [ТС]
Понял) Вот так красивенько
0
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
06.12.2010, 17:26  [ТС]
Еще вопрос. Я встречал код такого вида
PHP
1
{text} => $text
(или наоборот).
Как можно использовать такой вариант или это не правильно?
0
2 / 2 / 2
Регистрация: 24.04.2010
Сообщений: 21
07.12.2010, 02:49
Простите что поднимаю тему, но большие блоки текста с переменными можно выводить еще вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
<?
$title = "Заголовок страницы";
$wdthtbl = "100";
$hghttbl = "300";
echo <<<END
<title>$title</title>
</head>
<body>
<table width="$wdthtbl" height="$hghttbl">
END;
?>
0
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
07.12.2010, 18:50  [ТС]
Ничего, но все таки интересует ответ на сообщение №7
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
08.12.2010, 01:13
Цитата Сообщение от Amator Посмотреть сообщение
Еще вопрос. Я встречал код такого вида
а что, то еще кроме этой строчки можете привести в пример?
0
Йошь-мыслитель
 Аватар для Xander Bass
126 / 120 / 26
Регистрация: 22.02.2009
Сообщений: 706
Записей в блоге: 5
08.12.2010, 01:36
Цитата Сообщение от Amator Посмотреть сообщение
{text} => $text
Странно как-то. Вроде нотация для элемента массива. Но чтобы фигурными скобками. Amator, может это и не РНР вовсе?

А что касается шаблонизаторов, то Demol очень правильно написал. Нотация HEREDOC - самое эффективное средство в этом случае. Если, конечно, шаблон вшит в сам скрипт. А так лучше действительно preg_replace'ом пользоваться.
0
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
08.12.2010, 20:42  [ТС]
Ладно, забудьте про бред который я написал)) Но вот возникла проблема с preg_replace. Данные вытягиваются из БД таким видом
PHP
1
$menu = mysql_query('select * from content where (menu)') or die(mysql_error());
Далее этот файл(content.php) заинклужен в index.php с таким кодом
PHP
1
2
3
4
$index_in = file_get_contents('http://localhost/templates/index.html');
$patterns = array( '/menu/');
$replace = array($menu);
$index_out = preg_replace($patterns, $replace, $index_in);
И на выходе на месте где должна быть информация из переменной мне выводит
{Resource id #11}
В чем может быть проблема?
0
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
10.12.2010, 14:03  [ТС]
Я погуглил, но ничего интеремного по этой теме не нашел( Что можно сделать?
0
 Аватар для Amator
1047 / 381 / 15
Регистрация: 11.11.2008
Сообщений: 3,155
18.12.2010, 14:13  [ТС]
Вопрос все еще актуален.
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
18.12.2010, 14:28
Ну первое про phppp. Конечно можно пользоваться и тем что было сказано (к примеру preg_replace) если все это делается с нуля и для себя. К примеру в phpbb это сделано для некоторого "шаблонизатора". Он считывает шаблон и кеширует и в папку cashe. А там лежат уже совершенно другие файлы не очень напоминающие исходные... потому что при постоянном считывании файла и замене каких-то частей тратится много ресурсов. Тот метод с заменой был актуален лет 7 назад, когда все пользовались PhpNuke... в нем как раз и было такое организовано.

PHP
1
2
3
$menu = mysql_query('select * from content where (menu)') or die(mysql_error());
/*теперь в переменной $menu есть какой-то результат и иго надо обработать
к примеру mysql_fetch_assoc*/
А вы пытаетесь заменить в строке взятой из файла (/menu/) неизвестно чем.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2010, 14:28
Помогаю со студенческими работами здесь

Не отображается видео на html страничке
Прописываю вот что &lt;object data=&quot;Hung_E04.avi&quot; type=&quot;application/avi&quot;&gt; Фильм &lt;/object&gt; Но вот видео не отображается на страничке,...

как написать html кон на страничке
Привет всем мне надо показать пользователям как должна выглядеть ссылка в html как мне можно показать ссылку пользователям, как ее следует...

Запретить доступ к html страничке да до авторизации
Всем привет!:) имеется html страничка, как можно сделать так, чтобы только после авторизации была возможность открытия странички на php, до...

Не работает Java скрипт в html страничке
Извините сразу, не знаю куда это в HTML или java &lt;script type=”text/javascript”&gt; var browser=navigator.userAgent.toLowerCase(); ...

Как отловить клик мышкой на HTML страничке
Как отловить клик мышкой на HTML страничке, чтобы он отлавливался и на картинках, и на кнопках и на тексте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru