web-dev-qa-db-fra.com

Essayer d'obtenir une nouvelle ligne sur un message SMS envoyé par un script php

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 certains codes hexadécimaux. Peu importe ce que je fais, le message parvient à mon téléphone sans coupure de ligne.

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

C'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 le courrier pour envoyer ...

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

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

21
Matt

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

22
Nasser Al-Wohaibi

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

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

19
anonymous

pour moi parfois %0a fonctionne et parfois \n fonctionne en fonction de la passerelle SMS

3
Mahmoud Saleh

Même problème, cela fonctionne pour moi.

$ text. = chr (10). 'Bonjour le monde'; Mais toutes les autres réponses ne l'ont pas fait lors de mes tests.

2
Javed

Utilisez \r\n, puis encodez-le en utilisant urlencode(). Cela a fonctionné sur Android

1
user1960994

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

Parce que dans les guillemets simples, il prend le caractère tel quel.

Exemple:

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

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

0
Roger Gajraj

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

0
user2034047

Laissez les Ascii faire le travail pour vous. ASCII le caractère 10 est le retour à la ligne. Cela a fonctionné pour moi sur Android.

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

Même problème, cela a résolu le problème

% 20

fait des erreurs dans le texte précédent

cette liste tous les caractères

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

0
Adibas03

Un peu de code aide le médicament à diminuer. J'ai oublié un petit morceau de code important:

Content-Transfer-Encoding: 7bit

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

0
Matt

Vous définissez le type de contenu en tant que text/html. Essayez d'envoyer un <br/>. Le code HTML est indépendant de l'espace 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
Borealid