2014-05-04 105 views
1

我正在研究一个在PHP中使用shareaholic API的小应用程序。 我创建了一个小函数,可以构建正确的url。 当返回字符串时,它与V后换行返回它下面 输出:在我创建的字符串中创建一个随机行

http://www.shareaholic.com/api/share/?v=1&apitype=1&apikey=#################################&service=5&link=http://website.com/contest-page/&title=Website&notes=I+voted+for+Example5%27s+photo+to+win

因此,浏览器仅获取URL到/?

这里是PHP

function createShareToLink($serv, $name){ 
    $sharebase = 'http://www.shareaholic.com/api/share/?v=1'; 
    $apitype = "&apitype=1"; 
    $apikey = "&apikey=redacted"; 
    $twitter = false; 

    $title = trim("redacted"); 
    $title = urlencode($title); 
    $url = "http://redacted.com/contest-page/"; 
    $msg = urlencode("I voted for $name's photo to win"); 


    switch($serv){ 
     case 1: //facebook 
      $service = "&service=5"; 
      break; 
     case 2: //twitter 
      $twitter = true; 
      $service = "&service=7"; 
      break; 
     case 3: //Google   
      $service = "&service=304"; 
      break; 
     default: 
      $service = "&service=5"; 
      break; 
    } 

    if(!$twitter){ 
     $shareurl = $sharebase . $apitype . $apikey . $service . '&link=' . $url . '&title=' . $title . '&notes=' . $msg; 
    } else { 
     $shareurl = $sharebase . $apitype . $apikey . $service . '&link=' . $url . '&title=' . $title . '&template=redacted.com%20100lbs%20BBQ%20Giveaway%20${short_link}%20via%[email protected]%20%23Contest%20%23Giveaway'; 
    } 

    return $shareurl; 
} 

我从来没有碰到这个,任何想法? 显示在WordPress 中的输出在HTML表单中,我可以看到整个链接,但是它在?这是通过点击传递给浏览器的。同样,共享api返回所有信息为空。

+0

您是否尝试删除'/?v = 1'并再次输入?有可能是一个字符,虽然我怀疑它 – kennypu

+0

我刚刚复制你确切的代码,它对我来说很好,没有换行符。但问题可能出在你输出的网址上。 –

+0

当然,问题不在于该PHP代码。尝试查看编码,将其设置为不含BOM的UTF-8并再次检查。如果php文件有正确的编码,就不可能这样做。我想到的另一件事是:wordwrap,如果wordpress有一个wordwrap功能并且没有检测到它是链接,它可能会将您的链接分成几部分。 –

回答

0

确定这是奇怪的我,但我得到了它的工作,这是最重要的事情 我用的是这样的:

echo '<form action="' . $fblink . '" target="_blank" method="get"><input type="submit" id="fblink"></form>'; 

这将只发送了拳头的一部分,就像我上面提到的。

我把它改成了div封装的链接,现在工作正常。 我真的不知道为什么其他方式无法正常工作,但无论如何它现在可以工作。

谢谢大家。

相关问题