发布到Twitter帮助 - 使用PHP

时间:2010-01-05 20:10:55

标签: php html api twitter character-encoding

我正在尝试将网址发布到Twitter,但网址是用户生成的并且是动态的...

<a href="http://twitter.com/?status=[urlencode('I'd like to borrow this item @neighborrow')].">TWEET THIS REQUEST</a> 

我从那开始,但它没有抓住实际的网址 - 然后我尝试了其他一些但是它们似乎是用于静态网址

我是否必须使用api或者是否有办法让这个urlencode读取我们希望用户发布的特定网址?

感谢

更新

<a href="http://twitter.com/?status=urlencode('I'd like to borrow this item @neighborrow')">TWEET THIS REQUEST</a> 
                <p><a href="http://twitter.com/home?status=I'd like to borrow this item @neighborrow http://http://neighborrow.com/wanted.php?item=22"> <img target="Borrow this from someone on twitter" src="PHOTOBUCKET direct URL HERE" alt="TWEET THIS (IMPROVE YOUR SELECTION)" title="" border="0" /></a></p>

基本上我想要两者的组合 - 如果你看到“item = 22”总是在变化 - 所以我想要一个按钮,其中代码实际上会读取CURRENT url而不仅仅是我在开头添加的静态URL。这可能吗?

3 个答案:

答案 0 :(得分:1)

我认为问题可能是您使用“[]”方括号来包围字符串,然后用句点结束它。

除此之外,我可能建议使用类似htmlentities()或htmlspecialchars()的东西。

或者,您可能希望使用API​​来执行此操作。首先,除非您在其他地方进行检查,否则无法保证用户已登录到Twitter,并且API允许您使用twitter进行身份验证,而且API的可能性比查询字符串请求更长。

更新:
我认为问题出在代码的这一部分:

<a href="http://twitter.com/?status=urlencode('I'd like to borrow this item @neighborrow')">TWEET THIS REQUEST</a>

你调用一个名为urlencode的函数,但是它位于代码的HTML部分,因此PHP不会执行该函数,HTML只是将其解析为纯文本。 你想用这个替换它:

<a href="http://twitter.com/?status=<?php echo (urlencode('I'd like to borrow this item @neighborrow')) ?>">TWEET THIS REQUEST</a>

那应该让php代码解析并返回编码的字符串。

答案 1 :(得分:1)

这里有一个非常方便的PHP Twitter API库:http://lab.arc90.com/2008/06/03/php-twitter-api-client/

这将确保您不必解决已经解决的问题,并且您可以集中精力编写代码。

答案 2 :(得分:1)

可能是这样的?

<?php
 $posts = array (
      'i\'d like to borrow this item @neighborrow',
      'test this very carefully',
      'enough!!!'
     );

 foreach( $posts as $post )
 {
?>

  <a href="http://twitter.com/?status=<?php echo urlencode($post); ?>">tweet this request <small>[<?php echo $post; ?>]</small></a> <br/>
<?php
 }
?>

Liveview at codecookie.net

希望我明白这一点!