Конструкция <<<HERE HERE; и вывод кода HTML в PHP


    Сегодня на примере программы обработчика для урока  Флажки checkbox и свойства таблицы colspan и rowspan  я рассмотрю так называемый механизм цитирования, который позволяет помещать в код PHP многострочный текст.
    Довольно часто требуется вывести сразу несколько строк HTML кода, и может оказаться утомительным обрамлять каждую строку кавычками (особенно потому, что в HTML они тоже не редко используются).
     В языке PHP существует специальный механизм цитирования, который идеально подходит в данной ситуации - конструкция <<<HERE   HERE;
     Фрагмент <<<HERE показывает, что после него идет текст, занимающий несолько строк и заканчивающийся символом HERE;
     Вы можете использовать вместо HERE любую фразу на свое усмотрение. Между <<<HERE HERE; можно поместить столько текста сколько вам необходимо.
     Вы можете размещать в этом тексте переменные, и PHP запишет вместо них соответствующие значения, точно так же как сделал бы это в обычной строке заключенной в кавычки.
    Можете свободно использовать одинарные и двойные кавычки( " ' ).
    Фраза - окончание (в данном случае HERE;) должна занимать отдельную строку, и перед ней не должно быть пробелов.
     С технической точки зрения, все, что расположено между строкой <<<HERE и закрывающей конструкцией HERE; является частью одной логической строки, даже если этот код занимает в редакторе несколько строк.
     Обратите внимание на код PHP. C помощью этого небольшого отрывка кода, который выводит на экран таблицу, я продемонстрирую вам механизм работы конструкции <<<HERE HERE;

    Сначала с помощью конструкции <<<HERE HERE; я присваиваю переменной $tr2 HTML код отвечающий за вывод второй строки таблицы:
<?php
$tr2 = <<<HERE
  </td>
</tr>
 <tr>
  <td height='50' width='100' bgcolor='#336699' valign='bottom'> <center>2x1</center>
  </td>
  <td width='100' bgcolor='#FFCC33'> <center>2x2</center>
  </td>
  <td width='100' bgcolor='#336699' valign='bottom'> <center>2x3</center> </td>
  </td>
 </tr>
</table>
HERE;

    А затем с помощью оператора print и конструкции <<<HERE HERE; я вывожу саму таблицу.
Обратите внимание, что в данном отрывке кода внутри конструкции <<<HERE HERE; присутствует переменная $tr2 определенная ранее.
print <<<HERE
<table>
<tr>
    <td height="50" width="100" bgcolor="#FFCC33" valign="top" > <center>1x1</center>
    </td>
    <td width="100" bgcolor="#336699"> <center>1x2</center>
     </td>
<td width="100" bgcolor="#FFCC33" valign="top"> <center>1x3</center>
$tr2
HERE;
?>

Автор: Сергей Зарубин

Дата: 2011-04-23

Колличество просмотров: 26474

Нравится

Комментарии к заметке:

Комментарий добавил(а): r@zor
Дата: 2012-04-01

Спс за урок

Комментарий добавил(а): Арисон
Дата: 2012-06-19

а у меня не работает ( Parse error: syntax error, unexpected T_START_HEREDOC )что делать

Комментарий добавил(а): Сергей Зарубин
Дата: 2012-06-19

Обратите внимание на фразу: окончание (в данном случае HERE;) должна занимать отдельную строку, и перед ней не должно быть пробелов.

Комментарий добавил(а): троль
Дата: 2013-02-19

кал, не очень помогло

Комментарий добавил(а): Антон
Дата: 2013-03-21

Спасибо! Помогло :). Я только-только начал изучать PHP (сижу в тюрьме, возможностей не очень много) и этот сайт -- удачная находка. Всё рассказывается без "понтов", понятно. Спасибо.

Комментарий добавил(а): сергей
Дата: 2013-06-06

не используйте анахронизмы (<<<HERE HERE), избавьте себя и других людей от говнокода

Комментарий добавил(а): Сергей Зарубин
Дата: 2013-06-07

Как же достали эти гении от программирования.
Чем делать подобные программные заявления вы бы лучше зашли на http://www.php.net/manual/ru/language.types.string.php#language.types.string.syntax.heredoc
почитали бы.
Может узнали бы для себя что нибудь новое.

Комментарий добавил(а): shako
Дата: 2013-06-24

Iasno no mojem li mi zanesti vnutri print <<<HERE HERE; php code?, naprimer vnutri print <<<HERE
kakoi to do {}
while(); // do while loop????
HERE; a takoe vajmojno ili net?
jdu atveta :))) spasibo..

Комментарий добавил(а): Сергей Зарубин
Дата: 2013-06-25

Shako , если отвечать о всеx возможностях HEREDOC и NOWDOC это тема для отдельной большой статьи.
Я бы все же порекомендовал вам обратится к первоисточнику - сайту php.net
Там все очень подробно и с примерами написано.

Комментарий добавил(а): shako
Дата: 2013-06-25

spasibo vam ...

Комментарий добавил(а): Александр
Дата: 2014-12-17

Жаль, что в нотпад++ между <<<HERE и HERE не подсвечивается HTML ((( Уж лучше пхп открывать и закрывать: {?php b ?}

Комментарий добавил(а): asd
Дата: 2014-12-17

Tank you!

Комментарий добавил(а): Никола
Дата: 2015-01-14

Спасибо большое, избавили от нужды выискивать эту инфо из общего кода, где этой теме обычно уделяют пару строк из основного кода. И чтобы понять это (here) мне бы пришлось вникать сначала в основной код.

Комментарий добавил(а): Дулат
Дата: 2015-03-31

Спасибо большое!

Комментарий добавил(а): Анатолий
Дата: 2015-06-09

<?php
if (!isset($id)){
$result = mysql_query("SELECT title,id FROM instrumentariy");
$myrow = mysql_fetch_array ($result);

do{
printf ("<p><a href='edit_in.php?id=%s'>%s</a></p>",$myrow["id"], $myrow["title"]);
}
while($myrow = mysql_fetch_array ($result));
}
else{

$result = mysql_query("SELECT * FROM instrumentariy WHERE id=$id");
$myrow = mysql_fetch_array ($result);

print <<<HERE
<form name="form1" method="post" action="update_in.php">
<table width="1001" height="81" border="0" cellpadding="5px" cellspacing="5px">
<tr>
<td width="457">
<p><label>
Введите название новой записи<br>
<input name="title" type="text" id="title" size="60"><br><br>
Введите краткое описание новой записи<br>
<input name="meta_d" type="text" id="meta_d" size="60"><br><br>
Введите ключевые слова для новой записи<br>
<input name="meta_k" type="text" id="meta_k" size="60"><br><br>
Введите дату добавления новой записи<br>
<input name="date" type="text" id="date" value="гггг-мм-дд"><br><br>
Введите краткое описание записи с тегами абзацев<br>
<textarea name="description" id="description" cols="60" rows="5"></textarea>
</label></p>
<p><label>
Введите автора добавления новой записи<br>
<input name="author" type="text" id="author" size="60">
</label></p>
<p><label>
Введите название подраздела записи<br>
<input name="name" type="text" id="name" size="60">
</label></p>
</td>
<td width="528">
<label><p>
Введите весь текст новой записи с тегами абзацев<br>
<textarea name="text" id="text" cols="60" rows="26"></textarea><br>
<input type="submit" name="submit" id="submit" value="Занести новую запись в базу">
</p></label>
</td>
</tr>
</table>
</form>

HERE;
}
?>

Комментарий добавил(а): Анатолий
Дата: 2015-06-09

Помогите пож, код вроде правильный а когда доходит до print <<<HERE то он тупо не хочет показывать форму. Заранее спс

Комментарий добавил(а): Андрей
Дата: 2015-09-26

Анатолий, у меня таже самая проблема, тоже по этому курсу от Евгения Попова) Не хочет форма показываться и все тут... Что же делать(((

Комментарий добавил(а): WomAnizeR
Дата: 2015-11-20

if (!isset($id)) заменить на if(!isset($_GET['id']))
поскольку значение id должно браться из ссылки на редактирование. А в первом случае используется переменная $id, которая до этого нигде не объявлена.

Комментарий добавил(а): nElenaSn
Дата: 2017-06-07

Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и получить за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

Вам достаточно просто зарегистрироваться на нашем сервисе. > http://oplata-vklike.tk/ <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): pegorSn
Дата: 2017-06-07

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

Займ от частного инвестора.

Наша компания помогает встретиться инвестору и заёмщику.

Прямой контакт с инвестором
Любая кредитная история
Нужен только паспорт
Работаем с частными лицами и фирмами
Любой регион
Сумма от 5,000 до 50,000,000 руб
Процент одобрения 97%

Преимущества:

- Без залога и поручительства!
- Ставка - всего от 1% в месяц!
- Без скрытых платежей и комиссий!

Оформите заявку у нас на сайте. > www.ch-investor.tk <

Комментарий добавил(а): Paul
Дата: 2017-11-15

Спасибо за совет, работает! Добавил чтобы не забыть: http://wiki.pwodev.com/echo-large-html-code-in-php/

Комментарий добавил(а): Randydwefs
Дата: 2017-11-28

Интересно подлетися и надоумить обычных людей которые с этим столкнулись,
я курил сигарерты и кашлял... потом мне девушка начала говорить попробуй что то новое,
я там читала куча всякого подмешана... и короче стукала стукала мне по голове , и я решил,
взял обычную старую папиросу купил табак фильтр и потом эти папиросы порожняк, открыли мне удивительное,
познание, куришь с удовольствием, курить перестало хотеться!!! Да и много чего прикольного, процес забивки,
процес курения стал приятным! Да и теперь я курю не так много, короче ищите в поисковике купить папиросы порожняк,
а табак и так в каждом супермаркете продается. Но все можно купить на ихнем сайте
порожняк юа

Комментарий добавил(а): Anton
Дата: 2017-12-14

Мы платим за лайки! - Оплата по требованию!

Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и получить за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

Вам достаточно просто зарегистрироваться на нашем сервисе. > www.click-likes.tk <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): Алёна
Дата: 2017-12-24

Мы платим за лайки! - Оплата сдельная!

Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

Вам достаточно просто зарегистрироваться на нашем сервисе. > click-likes.tk <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): Алина
Дата: 2017-12-25

Предлагаем Вам работу без вложений, на системе автоматического приёма и обработки заказов.

Мы предоставляем:

- Наш лицезионный софт.
- документы со всей необходимой доп. информацией.
- постоянная техническая поддержка.

Оплата от 5500 в день. Выплаты ежедневно.

Более подробная информация на нашем сайте >> www.zakaz.exrabota.ru <<

Комментарий добавил(а): Andwqmb
Дата: 2017-12-26

Полный курс Bitcoin Миллионер - Успей заработать!

Скоро состоится запуск новой криптовалюты с потенциалом роста в 4000%.

А это означает что вложив в нее всего 500 рублей можно увеличить капитал до 2 000 000 р.

за короткий срок. Такое уже было не один раз! Тема огонь!

Посмотрите Видео-презентацию на сайте >> www.bitcoin.exrabota.ru <<

Вы узнаете все о заработке на биткоин и получите купон на обучение для первых 50 человек.

Комментарий добавил(а): Тимофей
Дата: 2017-12-26

Мы платим за лайки! - Оплата ежедневно!

Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > http://click-likes.tk/ <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): Анна
Дата: 2017-12-26

Интересная работа, высокая зарплата!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Ознакомтесь с условиями на нашем сайте. > pisma.exrabota.ru < Скопируйте и вставьте в адресную строку Вашего браузера.

Комментарий добавил(а): Gjrhosh
Дата: 2017-12-26

Сервис для заработка на просмотре видео

Новинка интернет заработка видео-просмотры, которые приносят реальные деньги!

1 просмотр видео от 80 рублей! Все просто, понятно и доступно!

Оплата за просмотр моментально. На счёт который Вы укажите при регистрации.

Для начала работы пройдите несложную регистрацию на сайте: www.video.exrabota.ru

Комментарий добавил(а): tnikaSn
Дата: 2017-12-26

Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Более подробная информация у нас на сайте. ( prosto.exrabota.ru )

Комментарий добавил(а): Евгения
Дата: 2017-12-28

Мы платим за лайки! - Выплаты по требованию!

Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > www.click-likes.tk <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): hope
Дата: 2018-01-14

Платим за лайки! - Оплата по требованию!

Наш сервис предоставляет настоящие лайки на фото заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > www.click-likes.tk <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): Gvaxynv
Дата: 2018-01-14

Самый полный курс Bitcoin Миллионер - Научись успешно зарабатывать

Скоро состоится запуск новой криптовалюты с потенциалом роста в 4000%.

А это означает что вложив в нее всего 500 рублей можно увеличить капитал до 2 000 000 р.

за короткий срок. Такое уже было не один раз! Тема огонь!

Посмотрите Видео-презентацию на сайте >> http://bitcoin.exrabota.ru/ <<

Вы узнаете все о заработке на биткоин и получите купон на обучение для первых 50 человек.

Комментарий добавил(а): Asfvfga
Дата: 2018-01-14

Реальный заработок на реальном сайте!
Никаких “супер секретных” сервисов и волшебных таблеток.
Все прозрачно и открыто работа абсолютно легальна.
Более подробнна информация на сервисе >> www.kwork-garand.tk<<

Комментарий добавил(а): Пётр
Дата: 2018-01-17

Платим за лайки! - Оплата ежедневно!

Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

Вам достаточно просто зарегистрироваться на нашем сервисе. > www.click-likes.tk <

Вывод заработанных средств ежедневно в течении нескольких минут.

Комментарий добавил(а): Ирина
Дата: 2018-01-26

Предлагаем Вам работу без вложений, на системе автоматического приёма и обработки заказов.

Мы предоставляем:

- Наш лицезионный софт.
- документы со всей необходимой доп. информацией.
- постоянная техническая поддержка.

Оплата от 5500 в день. Выплаты ежедневно.

Более подробная информация на нашем сайте >> www.zakaz.exrabota.ru <<

Комментарий добавил(а): Daria
Дата: 2018-01-29

Мы платим за лайки! - Оплата ежедневно!

Наш сервис предоставляет настоящие лайки на фотографии заказчиков, которые готовы платить за качество.

Именно для этого мы и набираем удалённых сотрудников, которые будут выполнять работу, то есть ставить лайки и зарабатывать за это деньги.

Чтобы стать нашим удалённым сотрудником и начать ставить лайки, зарабатывая при этом 45 рублей за 1 поставленный лайк,

достаточно просто зарегистрироваться на нашем сервисе. > www.vk-likes.tk <

Вывод заработанных средств ежедневно в течении нескольких минут.



Добавить новый комментарий


Введите число с картинки:

captcha