С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 21

Экранирование HTML тэгов в цикле foreach

29.01.2018, 15:12. Показов 1715. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для формирования списка заказанных товаров и отправки его на почту имеется следующий код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//содержимое заказа
foreach ($product as $key => $value){ 
$zak .= "Наименование :".$product_name[$key]." <br> Артикул :".$value."  <br> Колличество :".$product_kol[$key]." <hr>" ;
 
// $zak .= "Наименование :".$product_name[$key]." <br>" ;
// $zak .= "Артикул :".$value." <br>";
// $zak .= "Колличество :".$product_kol[$key]." <hr>"; 
} 
 
 
$to  = "<admin@mail.ru> " ; 
$subject = "Заказ с интернет-магазина"; 
$message = 
 
'
            '.$zak.' 
 
 
            Имя : '.$name.'
            Телефон : '.$phone.'
            Mail : '.$mail.'
            Улица : '.$street.'
            Дом : '.$home.'
            Кв : '.$apart.'
            Подъезд : '.$pod.'
            Этаж : '.$et .'
 
            Примечание : '.$descr.'
';
 
// $headers  = "Content-type: text/html; charset=windows-1251 \r\n"; 
$headers = "From: Интернет-заказ <mail@mail.ru>\r\n"; 
$headers .= "Reply-To: mail@mail.ru\r\n"; 
 
 mail($to, $subject, $message, $headers);
В результате получаю следующую картину:
Наименование :Саске <br> Артикул :55 <br> Колличество :1 <hr>Наименование :Лава запеченная <br> Артикул :45 <br> Колличество :4 <hr>Наименование :Имбирь <br> Артикул :992 <br> Колличество :2 <hr>


Имя : текст...
Телефон : текст...
Mail : текст...
Улица : текст...
Дом : текст...
Кв : текст...
Подъезд : текст...
Этаж : текст...

Примечание : текст...
То есть все HTML коды игнорируются, и пишется массив в строчку. Пока никак не могу победить.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.01.2018, 15:12
Ответы с готовыми решениями:

Ошибка в цикле foreach
Добрый день, уважаемые форумчане. Помогите, пожалуйста, разобраться с ошибкой в строке 46 foreach ($items as &amp;$item) Invalid...

Ошибка в цикле foreach
Помогите найти ошибку в цикле, говорит,то что неверный аргумент &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; ...

Как блокировать вывод HTML тэгов в гостевую книгу?
Есть гостевая книга на PHP база Postgress Юзер вводит мессаги и может вводить html код, который потом при просмотре будет на экране. Так...

4
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
29.01.2018, 15:37
Лучший ответ Сообщение было отмечено Atomikc как решение

Решение

А если раскомментировать 31 строку?
1
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 21
29.01.2018, 15:58  [ТС]
А если раскомментировать 31 строку?
Думаю это не поможет в данном вопросе
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
29.01.2018, 16:06
Atomikc, а проверить?

Смотрите документацию, 4ый пример.
1
0 / 0 / 0
Регистрация: 22.05.2016
Сообщений: 21
29.01.2018, 16:46  [ТС]
Код с 4-го примера:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
// несколько получателей
$to = 'johny@example.com, sally@example.com'; // обратите внимание на запятую
 
// тема письма
$subject = 'Birthday Reminders for August';
 
// текст письма
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Here are the birthdays upcoming in August!</p>
  <table>
    <tr>
      <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
    </tr>
    <tr>
      <td>Johny</td><td>10th</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';
 
// Для отправки HTML-письма должен быть установлен заголовок Content-type
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
// Дополнительные заголовки
$headers[] = 'To: Mary <mary@example.com>, Kelly <kelly@example.com>';
$headers[] = 'From: Birthday Reminder <birthday@example.com>';
$headers[] = 'Cc: birthdayarchive@example.com';
$headers[] = 'Bcc: birthdaycheck@example.com';
 
// Отправляем
mail($to, $subject, $message, implode("\r\n", $headers));
?>

Результат:

<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Johny</td><td>10th</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
То есть никак не форматирован

Добавлено через 22 минуты
PHP
1
2
3
4
5
6
7
8
9
10
11
// Для отправки HTML-письма должен быть установлен заголовок Content-type
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
 
// Дополнительные заголовки
 
$headers .= "From: Интернет-заказ <admin@mail.ru>\r\n"; 
$headers .= "Reply-To: admin@mail.ru\r\n"; 
 
 
mail($to, $subject, $message,  $headers);
Помогло вот это.Jodah, Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2018, 16:46
Помогаю со студенческими работами здесь

Доступ к переменной в цикле foreach
Здравствуйте! Есть ассоциативный массив $Arr = array('k1'=&gt;$V1, 'k2'=&gt;$V2, 'k3'=&gt;$V3...); В этом массиве ключом является строка, а...

Вывод карусели bootstrap в цикле foreach
Все здравствуйте. Столкнулся с проблемой вывода бутстраповской карусели в цикле foreach, если конкретнее, в блоке div сейчас стоит класс...

Разделитель в конце имён в цикле foreach
Здравствуйте уважаемые программисты, помогите решить одну проблемку:)есть список имён в массиве (Алёна, Александра, Вася, Виктор, Виктория,...

Вернуться на шаг назад в цикле foreach
можно ли в цикле foreach вернуться на шаг назад? в нете полезного ничего ненашел, один только посоветовал при условии использовать...

Как создать ассоциативный массив в цикле foreach?
Здравствуйте! Как можно создать ассоциативный массив внутри цикла? Сейчас у меня одномерный массив $paths = ; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru