IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   как послать форму без html тэгов (http://www.imho.ws/showthread.php?t=142910)

kasha 05.02.2010 10:27

как послать форму без html тэгов
 
Всем привет, думаю все когда-то сталкивались с такой проблемой, да и наверное решение вообщем-то легкое есть, но я его не знаю....
код такой
PHP код:

$msg="Привет <b>$lastname $firstname</b>,теперь Ты с нами:<br />"

далее я вывожу эту информацию на экран поситителю и сразу же отправляется имейл ко мне на почту
PHP код:

mail("мой имейл","ТЕМА","$msg");) 

и вот проблема в том что
PHP код:

$msg 

приходит на имейл с HTML тэгами...т.е. все эти
PHP код:

<br /> <b

.... все это отображается как есть...можно ли как то сделать, чтоб это или убиралось, или превращалось в тот же HTML код на имейле?
Спасибо!

EvroStandart 05.02.2010 10:40

Никогда не сталкивался. Всегда делал для майла отдельную переменную.

$body = "name: $lastname $firstname \r\n " .
"is registered \r\n " .
" info info info ... \r\n " ;

mail("мой имейл","ТЕМА", $body);

К стати, интереснейший оборот: "$msg" :biggrin:

Borland 05.02.2010 11:30

kasha, чтобы теги работали - нужно либо отправлять valid html (т.е. полностью сформированную страничку, с заголовками), либо юзать "специально обученный" почтовый клиент, который воспринимает и обрабатывает такие "огрызки", какие вы ему пытаетесь подсунуть...
По-другому оно работать не будет. По крайней мере - до тех пор, пока почтовые клиенты не обретут телепатических способностей...

kasha 05.02.2010 13:54

Цитата:

Сообщение от EvroStandart (Сообщение 1697179)
Никогда не сталкивался. Всегда делал для майла отдельную переменную.

$body = "name: $lastname $firstname \r\n " .
"is registered \r\n " .
" info info info ... \r\n " ;

mail("мой имейл","ТЕМА", $body);

К стати, интереснейший оборот: "$msg" :biggrin:

да веселый такой ;) , спасибо .... помогло , а тогда такой ещё вопрос, у меня в этом сообщении встречаются символы õ,ü,ä и как бы приходят на имейл они ввиде "У, Д, Ж" )), это возможно победить? или только спец. настроенным клиентом как говорил борланд?

Borland 05.02.2010 14:13

Цитата:

Сообщение от kasha (Сообщение 1697201)
или только спец. настроенным клиентом

Если клиент нормально работает с юникодом - проблем возникнуть не должно. Просто отправляйте письмо в юникоде (UTF-8) и не забудьте сообщить об этом почтовому клиенту в заголовке письма (либо в заголовке html). Собственно, собираясь отправлять мыло скриптом - полезно почитать о структуре сообщения и его заголовков...

BorLase 05.02.2010 16:03

Цитата:

Сообщение от kasha (Сообщение 1697178)
можно ли как то сделать, чтоб это или убиралось, или превращалось в тот же HTML код на имейле?
Спасибо!

убиралось - легко :) strip_tags($msg) вырежет из твоей строки все HTML теги

http://php.su/functions/?strip-tags

добавлено через 3 минуты
кстати, там же пример отправки письма в HTML формате

http://www.php.su/functions/?mail

Necromancer 05.02.2010 16:28

Я лично делаю так, и html таги разпознаются:
PHP код:

$from "admin@yahoo.com"//Адрес отправителя
$to "user@yahoo.com"//Адрес получателя

$subject "Welcome to hell"//Тема письма
$subject "=?UTF-8?B?".base64_encode($subject)."?="//Конвертим тему в UTF-8

$mess "Привет <b>$lastname $firstname</b>,теперь Ты с нами:<br />"//Текст сообщения с HTML кодом
$mess .= "Добро пожаловать!"//Продолжение текста сообщения с HTML кодом

$headers  'MIME-Version: 1.0' "\r\n"//Headers для кодировки
$headers .= 'Content-type: text/html; charset=utf-8' "\r\n"//Headers для HTML кода
$headers .= 'From: yahoo.com <'.$from.'>' "\r\n"//Дополнительный хед чтобы показывал домейн отправителя

mail($to$subject$mess$headers); //Собственно отсылка сообщения 

Удачи!

kasha 02.07.2010 11:41

Всем привет ещё раз, сделал про примеру с сайта пхп.су
PHP код:

$headers"MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"

а не мог бы кто-нибудь подсказать, я отправляю такую штуку:
PHP код:

<html>
    <
head>
    </
head>
    <
body>
    <
table>
    <
tr>
    <
td width='300px'>
            
инфо$info <br />
    </
td>
    </
tr>
    </
table>
    </
body>
    </
html

проблема в том, когда человек вводит слишком много информации, то на имейл приходит длинная строка, есть ли возможность как то ограничить, мой вариант <td width='300px'> не прокатил :), где то читал что % надо ограничить, пробовал, не получилось...
Спасибо

EvroStandart 02.07.2010 16:02

substr($info, 0, 30);

RTFM

kasha 07.07.2010 16:52

Цитата:

Сообщение от EvroStandart (Сообщение 1715312)
substr($info, 0, 30);

RTFM

субстр просто обрежет посланную информацию, ну или уже выводимую, разницы нет...
а мне надо чтоб она посылалась на имейл, но приходила нев длинном виде , а в таком, аккуратном

EvroStandart 08.07.2010 12:13

wordwrap

RTFM


ЗЫ
Через substr это тоже можно сделать. В простом цикле дёргать части текста пока не дойдёт до конца.

Naked 10.07.2010 15:36

на самом деле мне кажется, что substr можно смело делать тупо до 100 символов и все - просто оно ж не переносится, если все буквы без пробельных сиволов идет - зачем простите длинную строку видеть пользователю?:) или я не прав?

dzutaro 09.08.2010 11:39

вобще, есть хороший класс на php для отправки валидных писем в обычном текстовом и HTML-формате:

http://www.nowa.cc/showthread.php?t=242100

BorLase 11.08.2010 12:25

Цитата:

Сообщение от Naked (Сообщение 1716222)
зачем простите длинную строку видеть пользователю?

а если эта длинная строка - ссылка?

добавлено через 5 минут
Цитата:

Сообщение от kasha (Сообщение 1715260)
а не мог бы кто-нибудь подсказать, я отправляю такую штуку:
PHP код:

    <td width='300px'>
            
инфо$info <br />
    </
td

проблема в том, когда человек вводит слишком много информации, то на имейл приходит длинная строка, есть ли возможность как то ограничить, мой вариант <td width='300px'> не прокатил :)

такой вариант не подойдет?
PHP код:

    <td>
            <
div style="width: 300px; overflow:scroll;">
                 
инфо$info <br />
            </
div>
    </
td



Часовой пояс GMT +4, время: 04:43.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.