Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Twitter URL编码_Php_Url_Twitter - Fatal编程技术网

Php Twitter URL编码

Php Twitter URL编码,php,url,twitter,Php,Url,Twitter,我们即将推出一个小小的推特圣诞竞赛,我遇到了一个小小的障碍 要进入,人们需要以以下格式发布推文: @user blah, blah, blah #hashtag 目前,我有一个表单,他们可以在其中输入答案(诸如此类),还有一个PHP脚本,对整个语句进行编码,并在twitter url上添加: http://www.twitter.com/home?status=%40user%20blah%2Cblah%2Cblah%20%23hashtag 然后将用户带到twitter,并将状态放在更新字

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

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

@user blah, blah, blah #hashtag
目前,我有一个表单,他们可以在其中输入答案(诸如此类),还有一个PHP脚本,对整个语句进行编码,并在twitter url上添加:

http://www.twitter.com/home?status=%40user%20blah%2Cblah%2Cblah%20%23hashtag
然后将用户带到twitter,并将状态放在更新字段中

然而,尽管空格(%20)已被精细解码,@和#字符仍分别保留为%40和%23,即使在发布tweet时也是如此。我无法在url中输入实际字符,因为twitter将其误认为是搜索

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


任何帮助都将不胜感激。

您可以尝试直接在Twitter上发布:

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


将空格编码为+并且它可以工作:
我也遇到了同样的问题,解决方法非常简单

只要使用
http://twitter.com/home?status=

而不是
http://www.twitter.com/home?status=

即使文本不是ASCII格式,它也能按预期工作

如果您想了解有关这种奇怪行为的更多详细信息,请参阅以下博文:


希望这对某人有所帮助。

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

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

(请注意未编码的&)。。。等待中的tweet变成:

这是一个测试

:(

无数的调整和变化都无济于事


诚然,粗略的解决方法是:将((%26)更改为+(%2B)。在(重新)将实体引入等式之前(例如,不要将%26更改为%2B),最好使用纯文本执行此操作.测量两次,剪切一次,就像他们说的那样。

经过一个wile,我得到了这个…你必须以UTF8编码的方式发送,你可以使用javascript来完成,但我更喜欢PHP,因为我的文本也来自塔塔巴斯



保持简单,是吗?我没想到!不过,我希望在不太依赖JS的情况下,对推文的结构有更多的控制权。不过,谢谢,这可能是一种方式!我知道你的意思……我个人不介意依赖JS(显然,只要它只在启用JS时才起作用)Rich,你能详细说明一下“然后带用户去twitter”吗部分?你只是在处理他们的文本后从PHP进行重定向吗?我还需要删除www,然后它就起作用了!谢谢!删除www对我不起作用,但是用+替换空格对我来说就像一个charmDoesn一样不起作用。Twitter无法将+符号解码为空格。或者实际上它只解码第一个+,然后是le剩下的都是。编写Twitter自定义URL解码的人需要以非常痛苦的方式进行拍摄。事实上,Twitter.com对我不起作用,但Twitter.com/home对我起作用。显然,Twitter对你可以调用的每个可能URL的查询字符串进行不同的解码。正如@mcv所说,Twitter没有正确解码“+”符号。当然,你可以添加空格通过-嗯-不是编码,这可能是个坏主意。为此干杯:)我在上面选择的答案中也提到了这一点!