我已拼湊下面的代碼塊以幫助我從我的Twitter帳戶顯示我網站上的最新推文。但是,它不是很正常,你能幫我調試一下這一點嗎?我正在尋找PHP將其轉換爲HTML,其鏈接標籤纏繞在使用preg_replace
的Twitter用戶名和鏈接上。使用preg_replace顯示來自Twitter帳戶的最新推文時將URL轉換爲鏈接
如果您測試此腳本,您會發現當它在推文中呈現標準鏈接時存在問題,它會在a
之後過早提早結束< a>標記。我相信這是相對簡單的修復,可能是逃避角色或什麼的。
我主要的代碼塊:
<?php
/** Script to pull in the latest tweet */
$username='benpaton';
$format = 'json';
$tweet = json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline/{$username}.{$format}"));
$latestTweet = htmlentities($tweet[0]->text, ENT_QUOTES);
$latestTweet = preg_replace('/http:\/\/([[a-z0-9_\.\-\+\&\!\#\~\,]+)/i', '<a href="http://$1" target="_blank">http://$1</a>', $latestTweet);
$latestTweet = preg_replace('/@([a-z0-9_]+)/i', '<a href="http://twitter.com/$1" target="_blank">@$1</a>', $latestTweet);
echo $latestTweet;
?>
想法:你可以只是分開推文的空格和轉換爲URL的任何以「http://」開頭的部分?它比運行一個正則表達式要便宜得多,更簡單,我認爲它對於這個用例也同樣適用。 – Matchu 2010-11-27 02:15:14
這聽起來可行。我不知道如何做到這一點,但@usernames不以「http://」開頭 – 2010-11-27 02:36:59