我有一个Flash应用程序,其中包含一个定制的迷你应用程序的推特共享。
我使用通过php查询字符串传入的flashvars非常简单地实现了这一点,因此您的自定义颜色和消息将传递给迷你应用程序。
问题当然是twitter的url长度所以我希望使用bit.ly api for php来缩短动态url并将该哈希的url传回flash。
我已经编写了一个函数来完成这个工作正常但它在第一个'&'之后切断了第二个查询字符串参数符号
例如,运行url的以下函数'http://s46264.gridserver.com/apps/soundgirl/fbwall.php?colour=red&message=twittertest'
缩短为http://bit.ly/i4kfj0,解析后变为http://s46264.gridserver.com/apps/soundgirl/fbwall.php?colour=red
它正在切断第二个查询字符串参数。有人知道我可以阻止这种情况发生吗?
感谢。
<?php
function bitly_shorten($url)
{
$username = "modernenglish";
$apikey = "myapikey";
$response = file_get_contents("http://api.bit.ly/v3/shorten?login=$username&apiKey=$apikey&longUrl=$url&format=json");
$response = json_decode($response);
if ($response->status_code == 200 && $response->status_txt == "OK")
{
return $response->data->url;
} else
{
return null;
}
}
$link = urldecode("http://s46264.gridserver.com/apps/soundgirl/fbwall.php?colour=red&message=twittertest");
echo bitly_shorten($link);
?>
答案 0 :(得分:2)
也许试试:
在致电urldecode()
之前否bitly_shorten()
:
$link = "http://s46264.gridserver.com/apps/soundgirl/fbwall.php?colour=red&message=twittertest";
在网址上添加urlencode()
bitly_shorten()
功能:
$response = file_get_contents("http://api.bit.ly/v3/shorten?login=$username&apiKey=$apikey&longUrl=".urlencode($url)."&format=json");