Как вы включаете хэштеги в текст ссылки Twitter share?
Я пишу сайт с пользовательской кнопкой tweet, которая используетwww.twitter.com/share функция, однако проблема, с которой я сталкиваюсь, включает символы хэша " # " в текст твита.
например:
http://www.twitter.com/share?url=www.example.com&text=I+am+eating+#branstonpickel+right+now
текст твита выходит как'Я ем ' и опускает хэш и все остальное после.
I быстро посмотрел на форумах Twitter и узнал, что символ хэша " # " не может быть частью url-адреса общего доступа.
On https://dev.twitter.com/discussions/512#comment-877 было сказано, что:
хэши-это специальные символы в URL (они идентифицируют фрагменты документа), поэтому они и все, что следует, не отправляются на сервер.
и
вам нужно URLEncode его, поэтому используйте %23
когда я попробовал 2-й пункт в моей тестовой ссылке:
www.twitter.com/share?url=www.example.com&text=I + am + еда + %23branstonpickel + прямо сейчас
Текст твита вышел как"Я ем %23branstonpickel прямо сейчас ' буквально включая %23 вместо преобразования его в хэш.
извините за вопрос waffely, но кто-нибудь знает, что я делаю неправильно?
Любая обратная связь была бы очень признательна :)
6 ответов
похоже, что это базовая настройка:
https://twitter.com/intent/tweet?
url=<url to tweet>
text=<text to tweet>
hashtags=<comma separated list of hashtags, with no # on them>
это встроенные твит: <text> <url> <hashtags>
приведенный выше пример будет: https://twitter.com/intent/tweet?url=http://www.example.com&text=I+am+eating+branston+pickel+right+now&hashtags=bransonpickel,pickles
раньше была ошибка с параметром hashtags... он показал только первые N-1 хэштеги. В настоящее время это исправлено.
вы можете использовать %23 вместо хэша ( # ) в url, например
http://www.twitter.com/share?url=www.example.com&text=I+am+eating+%23branston+%23pickel+right+now
Я могу ошибаться, но я думаю, что хэштег должен быть передан как отдельная переменная, которая появится в конце вашего твита, т. е.:
приведет к "я ем branston Пикель прямо сейчас #branstonpickle"
на отдельной ноте, я думаю, что Пикель должен быть Пикулем!
Ура
Тоби
Если вы используете PHP, вы можете использовать следующее:
<?php echo 'http://www.twitter.com/share?' . http_build_query(array(
'url' => 'http://www.example.com',
'text' => 'I am eating #branstonpickel right now'
)); ?>
это сделает всю кодировку URL для вас, и ее легко прочитать.
дополнительные сведения о http_build_query см. В руководстве по PHP: http://us2.php.net/http_build_query
для url с line jump
, #
, @
и специальный unicode в нем, следующие работы:
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));