J'écris un site avec un bouton Tweet personnalisé qui utilise la fonction www.Twitter.com/share, mais le problème que j'ai est d'inclure le hachage '#' caractères dans le texte du Tweet.
Par exemple:
http://www.Twitter.com/share?url=www.example.com&text=I+am+eating+#branstonpickel+right+now
Le texte du Tweet apparaît comme " Je mange " et omet le hachage et tout ce qui suit.
J'ai jeté un coup d'œil sur les forums Twitter et j'ai appris que le caractère de hachage "#" ne pouvait pas faire partie de l'URL de partage.
Le https://dev.Twitter.com/discussions/512#comment-877 il a été dit que:
Les hachages sont des caractères spéciaux dans l'URL (ils identifient des fragments de document) afin qu'ils ne soient pas envoyés au serveur, et tout ce qui suit.
et
vous devez l'URLEncode, utilisez donc% 23
Lorsque j'ai essayé le 2e point de mon lien de test:
www.Twitter.com/share?url=www.example.com&text=I+am+eating+%23branstonpickel+right+now
Le texte du Tweet est sorti comme ' Je mange% 23branstonpickel en ce moment ' incluant littéralement% 23 au lieu de le convertir en hachage.
Désolé pour la question, mais est-ce que quelqu'un sait ce que je fais mal?
Tous commentaires serait grandement apprécié :)
Il semble que ce soit la configuration de base:
https://Twitter.com/intent/tweet?
url=<url to Tweet>
text=<text to Tweet>
hashtags=<comma separated list of hashtags, with no # on them>
Cela prédéfinirait un Tweet de: <text> <url> <hashtags>
L'exemple ci-dessus serait: https://Twitter.com/intent/tweet?url=http://www.example.com&text=I+am+eating+branston+pickel+right+now&hashtags=bransonpickel, cornichons
Il y avait un bug avec le paramètre hashtags ... il n'a montré que les premiers n-1 hashtags. Actuellement, cela est corrigé.
vous pouvez utiliser% 23 au lieu du hachage (#) dans l'url par exemple
http://www.Twitter.com/share?url=www.example.com&text=I+am+eating+%23branston+%23pickel+right+now
Je peux me tromper, mais je pense que le hashtag doit être passé en tant que variable distincte qui apparaîtra à la fin de votre Tweet, c'est-à-dire:
se traduira par "je mange du pickel de branston en ce moment #branstonpickle"
Sur une note séparée, je pense que le cornichon devrait être cornichon!
À votre santé
Toby
Si vous utilisez PHP, vous pouvez utiliser les éléments suivants:
<?php echo 'http://www.Twitter.com/share?' . http_build_query(array(
'url' => 'http://www.example.com',
'text' => 'I am eating #branstonpickel right now'
)); ?>
Cela fera tout l'encodage d'URL pour vous, et c'est facile à lire.
Pour plus d'informations sur http_build_query, consultez le manuel PHP: http://us2.php.net/http_build_query
utiliser encodeURIComponent pour encoder l'url
Pour l'URL avec line jump
, #
, @
et unicode spécial, les œuvres suivantes:
var lineJump = encodeURI(String.fromCharCode(10)),
hash = "%23", arobase="%40",
tweetText = 'https://Twitter.com/intent/tweet?text=Le signe chinois '+hans+' '+item.pinyin+': '+item.definition.replace(";",",")+'.'
+lineJump+'Merci '+arobase+'Inalco_Officiel '+arobase+'CRIparis ❤️???????? '
+lineJump+hash+'Chinois '+hash+'MOOC'
+lineJump+'https://hanzi.cri-paris.org/',
tweetTxtUrlEncoded = tweetText+ "" +encodeURIComponent('#'+lesson+encodeURIComponent(hans));