Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/54: Рейтинг темы: голосов - 54, средняя оценка - 4.80
 Аватар для ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584

Вставить переменную в текст html

04.06.2013, 13:03. Показов 10279. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, есть у меня очень длинный пхп файл, и не менее длинный код html, который должен выводиться при определённом случае(case "print_code". Html код я вынес в отдельный файл пхп вида
PHP
1
 $variable="html code";
далее идёт такой манёвр:
PHP
1
2
3
case "print_code":
require('variable.php');
print "$variable";
Всё работает, но появилась необходимость изменять значения некоторых <input> в зависимости от ситуации. Я решил этот момент следующим образом:
1) в html натыкал где надо спецсимволов
2) с помощью str_replace() перед print заменил их на нужные мне значения.
Всё как-бы работает, но мне кажется что должен быть более простой, и менее ресурсозатратный вариант.
Кто сталкивался подскажите, спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2013, 13:03
Ответы с готовыми решениями:

Как вставить в переменную текст и переменную вместе?
Вопрос для бывалых программистов наверное простой, но не где пока не нашел ответа. Подскажите пожалуйста как мне в переменную допустим...

Вставить в переменную с html новый кусок html
в переменную получаю html страницы $zz=file_get_contents(&quot;index.php&quot;); $zz2=file_get_contents(&quot;index_dop.php&quot;); как в...

Если вставить переменную в текст сообщения, приходит пустота
Здравствуйте,возникла проблема. Есть страница 1.php &lt;html&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;...

9
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
04.06.2013, 13:10
Цитата Сообщение от ijonhson Посмотреть сообщение
но появилась необходимость изменять значения некоторых <input> в зависимости от ситуации.
ну вот эту ситуацию и напиши в пхп-файле в виде условий if else
0
 Аватар для ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
04.06.2013, 13:31  [ТС]
если вы имеете ввиду в основном, то код станет на 300 строк длиннее(для этого и выносилось в отдельный файл всё), а в подключаемом как, если весь текст одна переменная?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
04.06.2013, 13:46
Цитата Сообщение от ijonhson Посмотреть сообщение
а в подключаемом как, если весь текст одна переменная?
ну так эта переменная строится по каким-то условиям.., ну добавь еще условие, которое управляет input'ами
0
 Аватар для AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
04.06.2013, 16:42
Цитата Сообщение от ijonhson Посмотреть сообщение
1) в html натыкал где надо спецсимволов
2) с помощью str_replace() перед print заменил их на нужные мне значения.
если я правильно понял..
Вы заменяете в прочитанном html файле некий набор придуманных вами служебных слов.. Что вам мешает поменять расширение html вашего шаблона на расширение php и в те места где вы писали служебные слова, прописать вставки вида <?=$my_variable1 ?> и <?=$my_variable2 ?> и т.д. В зависимости от условий заполняете значениями переменные... Уверен ресурсоемкость снизится вдвое...
0
 Аватар для ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
04.06.2013, 19:41  [ТС]
не совсем правильно, шаблон и есть php файл в котором строковой переменной присваивается текст html кода, то-есть после require в код основного файла попадает строковая переменная
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$s3='<html>
     <head><title>база данных</title>
     <link href="../../images/style.css" rel="stylesheet" type="text/css" />
     </head>
     <body>
     <table><tr><h1><center>Добавить игрока в базу данных</center></h1>
     </tr>
     <tr>
     <td width="5%" valign="top">
       <form action="../../index.html">
       <input type="submit" value="выход" class="button"></form>
       <br><br>
       <h4>&nbsp&nbspимя игрока</h4>
       <form action="base.php">
       <input type="hidden" name="rout" value="savechange">
       <input type="hidden" name="number" value="^^^^">/*^^^^ -спецсимвол*/
              </form>
     </body>
     </html>';
?>
Добавлено через 2 минуты
а в основном всё выглядит так:
PHP
1
2
3
4
5
6
7
case "change":
      $mas=file_to_mas('support/database.d');
      $tempmas=explode("}}[[",$mas[$number]); 
      require('support/s3.php');
      $s3=str_replace("^^^^",$number,$s3);
      print "$s3";
      break;
0
 Аватар для AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
04.06.2013, 20:03
Цитата Сообщение от ijonhson Посмотреть сообщение
require('support/s3.php');
перед этим, внимание!(увага)присваиваете значения переменным которые прописаны в support/s3.php . Вставки в 'support/s3.php делайте так <?=$ваша переменная?> Ну не занаю как объяснить. честно пытался.
0
 Аватар для ijonhson
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
04.06.2013, 20:13  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$s3='<html>
     <head><title>база данных</title>
     <link href="../../images/style.css" rel="stylesheet" type="text/css" />
     </head>
     <body>
     <table><tr><h1><center>Добавить игрока в базу данных</center></h1>
     </tr>
     <tr>
     <td width="5%" valign="top">
       <form action="../../index.html">
       <input type="submit" value="выход" class="button"></form>
       <br><br>
       <h4>&nbsp&nbspимя игрока</h4>
       <form action="base.php">
       <input type="hidden" name="rout" value="savechange">
       <input type="hidden" name="number" value="<?=$number>">/*как-то так???*/
              </form>
     </body>
     </html>';
?>
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
04.06.2013, 20:13
так
s3.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
     <head><title>база данных</title>
     <link href="../../images/style.css" rel="stylesheet" type="text/css" />
     </head>
     <body>
     <table><tr><h1><center>Добавить игрока в базу данных</center></h1>
     </tr>
     <tr>
     <td width="5%" valign="top">
       <form action="../../index.html">
       <input type="submit" value="выход" class="button"></form>
       <br><br>
       <h4>&nbsp&nbspимя игрока</h4>
       <form action="base.php">
       <input type="hidden" name="rout" value="savechange">
       <input type="hidden" name="number" value="<?= $number ?>">
              </form>
     </body>
     </html>
PHP
1
2
3
4
5
case "change":
      $mas=file_to_mas('support/database.d');
      $tempmas=explode("}}[[",$mas[$number]); 
      require('support/s3.php');         
      break;
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
04.06.2013, 20:23
Цитата Сообщение от ijonhson Посмотреть сообщение
шаблон и есть php файл в котором строковой переменной присваивается текст html кода
в приведенном выше случае - данный способ ничем не оправдан. Это делается (если таким образом) через file_get_contents()+strtr()/str_replace(), и мешать вывод php и html-кода вообще довольно редко является необходимостью - а читабельность от этого только падает. Итого, используя ваш же способ, получаем нечто наподобие такого
какой_то_шаблон.tpl
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
     <head><title>база данных</title>
     <link href="../../images/style.css" rel="stylesheet" type="text/css" />
     </head>
     <body>
     <table><tr><h1><center>Добавить игрока в базу данных</center></h1>
     </tr>
     <tr>
     <td width="5%" valign="top">
       <form action="../../index.html">
       <input type="submit" value="выход" class="button"></form>
       <br><br>
       <h4>&nbsp&nbspимя игрока</h4>
       <form action="base.php">
       <input type="hidden" name="rout" value="savechange">
       <input type="hidden" name="number" value="^^^^">/*^^^^ -спецсимвол*/
              </form>
     </body>
     </html>
PHP
1
2
3
<?php
.......
$s3 = str_replace( '^^^^', $number, file_get_contents('какой_то_шаблон.tpl') );
И да, обычно в таких случаях используют не непонятные ^^^^^ а "переменные" вида {имя_переменной_для_замены} (а-ля Smarty)

Другой вариант, куда более лучший, на мой взгляд (т.к. избавляет от необходимости использовать лишние вызовы strtr/str_replace и т.д.) - объявлять переменные выше и подключать файл. Таким образом, выглядеть этот код будет примерно так:
какой_то_там_php_шаблон.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
     <head><title>база данных</title>
     <link href="../../images/style.css" rel="stylesheet" type="text/css" />
     </head>
     <body>
     <table><tr><h1><center>Добавить игрока в базу данных</center></h1>
     </tr>
     <tr>
     <td width="5%" valign="top">
       <form action="../../index.html">
       <input type="submit" value="выход" class="button"></form>
       <br><br>
       <h4>&nbsp;&nbsp;имя игрока</h4>
       <form action="base.php">
       <input type="hidden" name="rout" value="savechange">
       <input type="hidden" name="number" value="<?php echo $какая_то_переменная; ?>">
              </form>
     </body>
     </html>
PHP
1
2
3
4
<?php
.......
$какая_то_переменная = 'какое то значение';
require 'какой_то_php_шаблон.php';
Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
в приведенном выше случае
имелось в виду сообщение №8
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2013, 20:23
Помогаю со студенческими работами здесь

Вставить(заменить) код(текст) в нескольких html файлах
Есть много-много html файлов. Структура у них одна. Мне необходимо их изменить, вставив в определенное место часть кода. Когда файл один...

Как вставить переменную java скрипт в php переменную
Здравия, форумчане! Извиняюсь за некорректность заголовка... Подскажите новичку, есть ли возможность перенести содержимое переменной java...

Как сохранить в переменную другую переменную + текст?
Нужно сохранить в одной переменной несколько переменных + текст, что бы потом все это дело вывести на экран. Т.е., что то в роде: ...

Как вставить в текущую html-страницу содержимое другого html-файла?
Как вставить в текущую html-страницу содержимое другого html-файла? Допустим есть файл index.php: &lt;html&gt; ...

Как к нескольким файлам html подключить текст из другого html через php?
Ребят, расскажите пожалуйста как к нескольким файлам html через php подключить текст из другого html. Я создаю сайт и каждый раз...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru