繁体   English   中英

Twitter URL编码

[英]Twitter URL encoding

我们即将推出一个小小的推特圣诞节比赛,我遇到了一些障碍。

要进入,人们需要以下列格式发布推文:

@user blah, blah, blah #hashtag

目前,我有一个表单,他们输入他们的答案(blah,blah,blah)和一个PHP脚本,它编码整个语句并添加到twitter url:

http://www.twitter.com/home?status=%40user%20blah%2Cblah%2Cblah%20%23hashtag

然后将用户带到twitter并将状态置于更新字段中。

但是,虽然空格(%20)被解码得很好,但@和#字符分别保留为%40和%23,即使发布了推文。 我无法将实际字符放在网址中,因为Twitter会将此错误用于搜索。

有什么方法可以解决这个问题吗? 如果可能的话,我不想要用户名和密码等。

任何帮助将不胜感激。

我遇到了同样的问题,解决方案非常简单。

只是用
http://twitter.com/home?status=
代替
http://www.twitter.com/home?status=
并且它将按预期工作,即使文本不是ASCII。

如果您想了解有关此奇怪行为的更多详细信息,请参阅此博客文章: http//www.kilometer0.com/blog/2010/01/21/twitter-status-urls-and-ampersands/

希望这有助于某人。

将空格编码为+并且它可以工作: http//twitter.com/home?status =%40user + blah %2Cblah %2Cblah +% 23hashtag

您可以尝试直接发布到Twitter:

<form action="http://www.twitter.com/home" method="GET">
    <textarea name="status">

...

嗯。 至少在使用新的Twitter布局时......这个:

http://twitter.com/home?status=This+is+a+test+%26+So+is+this

...重定向到此(登录时):

http://twitter.com/?status=This%20is%20a%20test%20&%20So%20is%20this

(注意未编码的&)...并且等待中的推文变为:

这是一个测验

:(

无数的调整和变化没有帮助。 (叹。)

不可思议的粗略解决方法:将&(%26)更改为+(%2B)。 在(重新)将实体引入等式之前(例如,不要将%26更改为%2B),建议使用纯文本进行此操作。 如他们所说,测量两次,切一次。

在我得到这个诡计之后...你必须发送UTF8编码,你可以使用javascript来做到这一点,但我喜欢PHP,因为我的文本也来自数据库....

<a href="http://twitter.com/share?text=<?= urlencode(utf8_encode( 'HERE I USE THE TITLE OF MY ARTICLE FROM DATABASE' )) ?>&lang=pt&url=<?= urlencode('http://jadielalves.com?s=stackoverflow') ;?>" target="_blank">SHARE ON TWITTER you can also put a twitter icon here... </a>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM