2015-05-04 187 views
0

我正在使用Twitter API使用「狀態/用戶時間線」功能獲取我的時間線的最後3條推文。它抓取推文併發送響應,但我需要在我的網頁中爲HTML注入超鏈接。問題是微軟的角色正在拋棄鏈接位置的索引。Twitter API,添加超鏈接

Join us at TOMORROW at @SugarLandtxgov's 「Art In The Park」 and see the 4 
#PODA2 containers all in one place! http://t.co/leqtqhdAiI #HOUarts 

[text] => Join us at TOMORROW at @SugarLandtxgov's 「Art In The Park」 and 
see the 4 #PODA2 containers all in one place! http://t.co/leqtqhdAiI 
#HOUarts 

[url] => http://t.co/leqtqhdAiI 
[expanded_url] => http://www.artshound.com/event/detail/441912984 
[display_url] => artshound.com/event/detail/4… 
[indices] => Array 
     (
       [0] => 109 
       [1] => 131 
     ) 

這是輸出後的我注入了超鏈接到字符串:

Join us at TOMORROW at @SugarLandtxgov's 「Art In The Park」 and see the 4 
#PODA2 containers all in one pla<a href="http://t.co/leqtqhdAiI" 
target="_blank">ce! http://t.co/leqtqh</a>dAiI #HOUarts 
+0

我第一印象是它可能是多字節字符(即UTF-16而不是UTF-8)的計數錯誤,但鏈接href匹配正確,所以可能不是?你能告訴我們你的代碼嗎? – Halcyon

回答

1

您可能需要顯式地設置編碼和使用多字節字符串函數:

mb_internal_encoding('UTF-8'); 
header('Content-type: text/html; charset=UTF-8'); 
echo mb_substr($text, 0, 109) . '<a href="' . $link . '">' . mb_substr($text, 109, 131-109) . '</a>' . mb_substr($text, 131);