2010-10-27 51 views
0

我在我的PHP中有以下测试行,它可以正常工作,从我的PHP代码中发布到Twitter。如何解析变量?

$oauth->post('statuses/update', array('status' => "hello world")); 

不过,我要发布一个变量的内容,而不是世界您好

如果我更改代码如下,那么所有被公布为$消息

$oauth->post('statuses/update', array('status' => '$message')); 

我也试过没有'但后来没有张贴,即

$oauth->post('statuses/update', array('status' => $message)); 

如何正确解析t他的消息内容?创建

$信息如下

$message = "http://www.smartphonesoft.com/index.php?option=com_mtree&task=viewlink&link_id=" .$link_id . " " ."Windows Phone Software" . " " .$link_name . " " . $metadesc; 

我说的回声$消息这给我我所期待的,即:

http://www.smartphonesoft.com/index.php?option=com_mtree&task=viewlink&link_id=33183073 的Windows Phone软件的掌上播放器 掌上播放器是一个摇滚'的方式 享受您的Windows上的音乐和视频 移动设备。通过多种媒体 和播放列表格式,互联网 连接,插件扩展和 一个直观的界面,袖珍播放器 意味着更少的水龙头,更多的音乐!

感谢,

格雷格

+1

确定'$ message'有一个适当的值?什么'var_dump($ message)'打印出来? – Gumbo 2010-10-27 11:22:07

+1

您是否检查'$ message'内容?记住像'$ message'这样的字符串不会分析内部的变量...... – acm 2010-10-27 11:22:46

+0

是否会导致产生的消息太长? – Gordon 2010-10-27 11:25:06

回答

3

Twitter API doc for status/update:

  • status你的状态更新文本,最多140个字符。根据需要进行URL编码。

所以我会说你必须缩短$message,因为你的有369个字符。

+0

谢谢,就是这样!以前的twitter会自动缩短,如果> 140个字符.... – kitenski 2010-10-27 11:58:32

1

你报价的最后的编码是正确的。你确定$message有有意义的内容吗?

(旁白:之所以'$message'发布“$消息”逐字的是,在PHP单引号字符串没有得到变量代换,也不转义字符:'\n'是字面意思是“\ n”,而"\n"将导致字符串包含换行符)

0

'$message'无法正常工作,因为您实际上传递的是字符串"'$message'"而不是$message变量。

如果您发布的第二个代码不起作用,那么要么是因为$message未在您的脚本中定义,要么是因为脚本中有其他内容是错误的,但是如果没有看到其余的码。