web-dev-qa-db-ja.com

PHPスクリプトから送信されたSMSメッセージで新しい行を取得しようとしています

SMSメッセージから送信された新しい行をPHPスクリプトから送信されました。_\r\n_、_<BR>_といくつかの16進コード何をしても、メッセージは改行なしで電話に届きます。

_$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)
_

メッセージを受け取ったという意味では、すべてうまくいきます。これが私を狂わせているので、私は何かが足りないことを願っています。

25
Matt

使用する: %0a、NokiaとAndroidで私のために働いた

31

'\ n'は2つの文字を出力します:\およびn

"\ n"は改行文字(0x0A)を出力します

25
anonymous

私のために%0aは機能し、場合によっては\nはSMSゲートウェイに依存します

4
Mahmoud Saleh

同じ問題がありましたが、これは私にとってはうまくいきます。

$ text。= chr(10)。 'こんにちは世界';しかし、私がテストしたとき、他のすべての答えはしませんでした。

2
Javed

_\r\n_を使用し、urlencode()を使用してエンコードします。 Androidで動作しました

2
user1960994

'\ n'の代わりに "\ n"を試してください。

単一引用符で囲まれているため、文字がそのまま使用されます。

例:

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

そのメッセージがどのようにエンコードされて送信されるかを理解する必要があります。私の状況では、Routosms APIを使用して、メッセージ文字列でのAPIによるurlencode(phpを使用)の使用を無効にする必要がありました。その後、%0Aは機能しました。

1
Roger Gajraj

これは私にとってはphpでうまくいきました、

$message = "Welcome,
some text
Thank you for choosing us.";
0
Arati

二重引用符を使用します。単一引用符は改行を認識しません

0
user2034047

アスキーがあなたのために仕事をしてみましょう。 ASCII文字10はキャリッジリターンです。これはAndroidではうまくいきました。

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

同じ問題があり、これで解決しました

%20

前のテキストでエラーが発生しました

これはすべての文字をリストします

http://www.obkb.com/dcljr/charstxt.html

0
Adibas03

ほんの少しのコードは、薬を下げるのに役立ちます。重要な小さなコードを忘れてしまいました:

コンテンツ転送エンコード:7ビット

上記のコードをヘッダーに追加する必要があります。 HTH。

0
Matt

コンテンツタイプをtext/htmlとして設定しています。 <br/>を送信してみてください。 HTMLは空白に依存せず、breakタグを使用して新しい行を強制します。

メッセージをHTMLにしたくない場合は、そのようにマークしないでください。

0
Borealid