2010-08-18 107 views
18

我一直试图从我的短信发送一个PHP脚本中产生一个新行。我用\r\n,<BR>和一些十六进制代码。无论我做什么,我的手机都会收到短信,而不会换行。试图从php脚本发送短信消息获得新行

$body .= 'City:'.$venue.'\r\n'; //<- doesn't work 
$body .= 'State:'.$state.'<br>'; //<- doesn't work 

这是我的头型......(完整的头不包括在内)

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

我用邮件发送...

mail($somenumber,$subject,$body,$headers) 

一切正常,在某种意义上说,我收到消息。 我希望我错过了一些东西,因为这让我发疯。

+4

'\ r \ n' 或它应该是 “\ r \ n”? – stillstanding 2010-08-18 03:20:50

回答

0

您正在将内容类型设置为text/html。尝试发送一个<br/>。 HTML是空白不可知的,并使用break标签强制新行。

如果您不希望邮件为HTML,请不要将其标记为这样。

+0

是的,我试过了


disapears,但没有添加换行符,而
在我的消息中显示为> – Matt 2010-08-18 03:26:47

+0

@Matt:然后尝试使用纯文本电子邮件。 – Borealid 2010-08-18 03:29:42

+0

我做了,但仍没有得到新的线。 – Matt 2010-08-18 03:56:34

14

'\ n'将打印两个字符:\ñ

“\ n”将打印一个换行符字符(0x0A)

+0

确保代码具有“\ r \ n”,而不是像我在示例中那样的“\ r \ n”。仍然没有线路。 可能是我的手机。 – Matt 2010-08-18 03:36:42

+0

工作正常在三星银河隆重 – sugunan 2016-11-23 04:57:09

0

只是一点点代码有助于药物治疗下降。 我忘了一个重要的一小段代码:

内容传输编码:7位

您需要在上面添加到您的标题中的代码。 HTH。

17

用途:%0a,诺基亚和Android

+0

工作iPhone和 – MMachinegun 2014-01-24 16:45:01

+0

完美的解决方案,谢谢。 – 2014-07-02 09:43:11

+0

我正在使用trumpia API和它不工作 – 2016-01-29 12:16:27

1

使用\r\n为我工作,然后用urlencode()编码。它适用于Android

-1

您可以使用PHP_EOL来结束一行。

0

你必须了解该消息如何编码才能发送。对于我的情况,使用routosms api,我必须禁用他们的api在我的消息字符串上使用urlencode(使用php)。然后,%0A工作。

-1

使用双引号,单引号不承认新线

-3

使用%0a,我认为它会工作

+0

给出正确答案。 – 2016-06-21 11:36:09

+0

这与顶部投票答案完全一样。这个答案提供了什么额外的价值? – JJJ 2016-06-21 16:52:38

0

让ascii为你做好工作。 ASCII字符10是回车。这在Android上适用于我。

$body = 'City:' . $city; 
$body .= chr(10) . 'State:' . $state; 
$body .= chr(10) . 'Zip:' . $zip; 
0

尝试“\ n”而不是'\ n';

因为在单引号中它将原样使用该字符。

例子:

echo nl2br('one \n two');//print: one \n two 
echo nl2br("one \n two");//print: one <br> two 
0

我有时%0a工作,有时\n作品依赖于短信网关