2010-10-27 52 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未在您的腳本中定義,要麼是因爲腳本中有其他內容是錯誤的,但是如果沒有看到其餘的碼。