2010-08-18 8 views
18

J'ai essayé d'obtenir une nouvelle ligne générée dans mon message SMS envoyé à partir d'un script PHP. J'ai utilisé \r\n, <BR> et quelques codes hexadécimaux. Peu importe ce que je fais, le message arrive sur mon téléphone sans coupures de ligne.Essayer d'obtenir une nouvelle ligne sur un message SMS envoyé à partir du script php

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

Ceci est mon type d'en-tête ... (en-tête complet non inclus)

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

J'utilise mail pour envoyer ...

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

Tout fonctionne très bien dans le sens où Je reçois le message. J'espère que je manque quelque chose, parce que cela me rend fou.

+4

'\ r \ n' ou doit-il être "\ r \ n"? – stillstanding

Répondre

0

Vous définissez le type de contenu en tant que texte/html. Essayez d'envoyer un <br/>. HTML est agnostique et utilise la balise break pour forcer une nouvelle ligne.

Si vous ne voulez pas que le message soit HTML, ne le marquez pas comme tel.

+0

Oui, j'ai essayé le
et
(
disparaît mais n'ajoute pas un saut de ligne et
apparaît comme> dans mon message) – Matt

+0

@ Matt: Essayez un e-mail en texte brut, puis. – Borealid

+0

Je l'ai fait mais je n'ai toujours pas eu la nouvelle ligne. – Matt

14

'\ n' imprimera deux caractères: \ et n

"\ n" imprime un caractère de saut de ligne (0x0A)

+0

s'assurait que le code avait "\ r \ n" et non "\ r \ n" comme dans mon exemple. Toujours pas de ligne. Peut-être mon téléphone. – Matt

+0

Fonctionne bien dans samsung galaxy grand – sugunan

0

Juste un petit peu le code aide le médicament à descendre. Je un peu oublié élément important de code:

Content-Transfer-Encoding: 7bit

Vous avez besoin du code ci-dessus ajouté à votre tête. HTH.

17

Utilisation: %0a, a travaillé pour moi dans Nokia et Android

+0

travaillé pour l'iPhone ainsi – MMachinegun

+0

solution parfaite, merci. –

+0

J'utilise trumpia API et son ne fonctionne pas –

1

Utilisez \r\n puis encoder à l'aide urlencode(). Cela a fonctionné sur Android

-1

Vous pouvez utiliser PHP_EOL pour terminer une ligne.

0

Vous devez comprendre comment ce message est codé pour être envoyé. Pour ma situation, en utilisant des routines api, j'ai dû désactiver l'utilisation de leur API d'urlencode (en utilisant php) sur ma chaîne de message. Ensuite,% 0A a fonctionné.

-1

Utilisez des guillemets, des guillemets simples ne reconnaissent pas les nouvelles lignes

-3

Utilisez% 0a, je pense que cela va fonctionner

+0

Donnez la bonne réponse. –

+0

C'est exactement la même chose que la réponse la mieux votée. Quelle valeur supplémentaire cette réponse fournit-elle? – JJJ

0

Laissez les ascii faire le travail pour vous. Le caractère ASCII 10 est le retour chariot. Cela a fonctionné pour moi sur Android.

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

Essayez "\ n" au lieu de '\ n';

Parce que dans les guillemets simples, il prend le caractère tel qu'il est.

Exemple:

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

pour moi parfois %0a œuvres et parfois \n travaux dépend de la passerelle SMS

Questions connexes