Как включить хэштеги в тексте ссылки на Twitter?
Я пишу сайт с пользовательской кнопкой твит, которая использует функцию www.twitter.com/share, однако проблема, с которой я столкнулась, включает символы hash '#' в тексте твита.
Например:
http://www.twitter.com/share?url=www.example.com&text=I+am+eating+#branstonpickel+right+now
Текст твита выходит как" Я ем" и пропускает хэш и все после.
Я быстро просмотрел форумы Twitter и узнал, что символ hash '#' не может быть частью URL-адреса.
На https://dev.twitter.com/discussions/512#comment-877 было сказано, что:
Хэши - это специальные символы в URL-адресе (они идентифицируют фрагменты документа), поэтому они и все, что следует за ними, не отправляют сервер.
и
вам нужно URLEncode, поэтому используйте% 23
Когда я попробовал второй пункт в моей тестовой ссылке:
www.twitter.com/share?url=www.example.com&text=I+am+eating+%23branstonpickel+right+now
Текст твита выходил как " Я ем% 23branstonpickel прямо сейчас" буквально в том числе% 23 вместо преобразования его в хэш.
Извините за сомнительный вопрос, но кто-нибудь знает, что я делаю неправильно?
Любая обратная связь будет принята с благодарностью:)
Ответы
Ответ 1
Похоже, что это базовая настройка:
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. В настоящее время это исправлено.
Ответ 2
вы можете использовать% 23 вместо хеша (#) в URL, например
http://www.twitter.com/share?url=www.example.com&text=I+am+eating+%23branston+%23pickel+right+now
Ответ 3
Возможно, я ошибаюсь, но я думаю, что хэштег должен быть передан как отдельная переменная, которая появится в конце вашего твита, т.е.:
http://www.twitter.com/share?url=www.example.com&text=I+am+eating+branston+pickel+right+now&hashtag=bransonpickel
приведет к тому, что "я еду бранстон пикель прямо сейчаС#branstonpickle"
В отдельном примечании, я думаю, что пикель должен рассолваться!
Приветствия
Тоби
Ответ 4
Если вы используете 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
Ответ 5
использовать encodeURIComponent для кодирования URL