Подтвердить что ты не робот

Как включить хэштеги в тексте ссылки на 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 вместо преобразования его в хэш.

Извините за сомнительный вопрос, но кто-нибудь знает, что я делаю неправильно?
Любая обратная связь будет принята с благодарностью:)

4b9b3361

Ответ 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. В настоящее время это исправлено.

Ответ 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