web-dev-qa-db-fra.com

Comment inclure des hashtags dans le texte du lien de partage Twitter?

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é :)

32
Splendiferous

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é.

71
adamb0mb

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

51
Niket

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:

http://www.Twitter.com/share?url=www.example.com&text=I+am+eating+branston+pickel+right+now&hashtag=bransonpickel

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

3
idodev

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

2
bashaus

utiliser encodeURIComponent pour encoder l'url

1
user1226673

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));
0
Hugo LOPEZ