2013-09-26 2 views
1

Je développe actuellement une application web et il y a cette partie du code où je dois pré-remplir le message dans la boîte de sms. Donc, mon code ressemble à ceci:Corps du message SMS HTML. Tout après & symbole disparaît

<a href="sms:?body=This is the message with & symbol">SMS</a> 

Dans le message pré-rempli, tout du symbole & ne partir apparaît pas dans la boîte de message sur le téléphone. Je sais que je dois l'encoder mais je ne sais pas quel est le code d'encodage. Toute solution à cela? Merci.

+0

Même en 2017 cela reste un problème. Je pense que cette question n'a tout simplement pas attiré beaucoup d'attention parce qu'elle est décemment obscure; J'ai l'impression que peu de gens génèrent des liens avec le protocole 'sms:' comme ça. Avez-vous déjà trouvé une solution? Nous avons fini par ne pas autoriser le symbole '&' dans le corps du SMS. – stereoscott

Répondre

0

Essayez d'utiliser &#38; au lieu de « & » car cela est la version ASCII du caractère et utilisé pour se présenter sous forme de texte dans un document HTML

+0

Je viens d'essayer, mais toujours obtenir le même résultat. Tout message provenant du symbole & disparaît. – Cirrus

0

Coder votre personnage & parce qu'il a une signification particulière dans une URL (il est le séparateur pour les champs)

<a href="sms:?body=This+is+the+message+with+%26+symbol">SMS</a> 

les caractères qui ont une signification particulière dans l'URL doivent être ecnode si vous voulez juste là respresentation texte.

wikipedia on percent encoding

+0

J'ai essayé ceci, les messages du symbole & en avant disparaissent toujours. – Cirrus

+0

Sur quel navigateur essayez-vous cela? J'ai vérifié cela dans Opera sur win2k8 avec Outlook comme client (utilisé mailto:? Body = bar% 26foo) et cela fonctionne – rene

+0

J'utilise le téléphone pour aller sur l'application web avec le navigateur Android – Cirrus

0

Je pense que vous devez écrire comme ci-dessous

<a href="sms:?body=This is the message with &amp; symbol">SMS</a> 
+0

J'ai essayé cela, j'ai toujours le même problème que ce que j'ai mentionné ci-dessus. – Cirrus

1

Cela semble vraiment fou, mais codant pour le corps fait deux fois le tour.

<a href="sms:?body=hello & stuff">not encoded (doesn't work)</a> 
<a href="sms:?body=hello%20%26%20stuff">uri component encoded (doesn't work)</a> 
<a href="sms:?body=hello%2520%2526%2520stuff">double uri component encoded (works fine)</a> 

violon de travail pour tester à partir d'un appareil Android: https://jsfiddle.net/k96g2h48/

Questions connexes