我想为我的网络应用程序创建Twitter小部件。
我不想使用Twitter提供的小部件,因为如果有数千名用户,那么我必须为每个人创建一个单独的小部件,这是不可能的。
我想显示当前登录到我的网络应用程序的用户时间轴中的所有推文。
在访问时间线之前,我必须强制我的网络应用程序用户登录Twitter。
怎么做?
有没有人对此有详细的了解?
请帮帮我。
答案 0 :(得分:2)
通过使用此代码,您可以添加自己的Twitter小部件。您也可以自定义它。
echo "<ul id='news'>";
$twit_usr = 'username';//Please enter your twitter username
//$num_tweets = '60';
$reader = new XMLReader();
$reader->open( 'http://api.twitter.com/1/statuses/user_timeline/'.$twit_usr.'.xml/' );
while ( $reader->read() )
{
if ( $reader->nodeType == XMLREADER::ELEMENT )
{
$name = $reader->name;
if( $name == "status" )
{
while( $reader->read() )
{
if( $reader->nodeType == XMLREADER::ELEMENT )
{
$noName = $reader->name;
if( $noName == "text" )
{
$reader->read();
$checkUrl = $reader->value;
$text = preg_replace('/(?<!http:\/\/)(www.[-a-zA-Z0-9@:%_\+.~#?&\/=]+)/i', '<a href="http://\1">\1</a>', $text);
$pattern = "#(http:\/\/[^ ]+)#i";
$replacement = "<a href=\"$0\" target=\"_blank\">$0</a>";
$finalString = preg_replace( $pattern, $replacement, $checkUrl );
//$finalString = ereg_replace("[[:space:]]+[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]+[[:alnum:]]+[[:space:]]", "<a href=\"\\0\">\\0</a>", $checkUrl);
$result .= '<li>'.$finalString . '</li>';
//break;
}//close if noName match
}//close if nodeType
}//close while reader read inner
}//close if name item
}//close if nodeType
}//close while reader-read outer
print_r($result);
echo '</ul>';