@Username出现显示推文问题

时间:2011-07-05 作者:Rob

我在显示包含回复的推文时遇到了一个问题(例如,当你@username某人时)。它显示了@符号,但随后切断了推文的其余部分。(签出www.teamworksdesign.com 在右下角)

有谁能帮上忙或者推荐一个好的插件吗?

<?php

function parseTweet($text) {
$pattern_url = \'~(?>[a-z+]{2,}://|www\\.)(?:[a-z0-9]+(?:\\.[a-z0-9]+)?@)?(?:(?:[a-z](?:[a-z0-9]|(?<!-)-)*[a-z0-9])(?:\\.[a-z](?:[a-z0-9]|(?<!-)-)*[a-z0-9])+|(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))(?:/[^\\\\/:?*"|\\n]*[a-z0-9])*/?(?:\\?[a-z0-9_.%]+(?:=[a-z0-9_.%:/+-]*)?(?:&[a-z0-9_.%]+(?:=[a-z0-9_.%:/+-]*)?)*)?(?:#[a-z0-9_%.]+)?~i\';
\'@([A-Za-z0-9_]+)\';
$tweet = preg_replace(\'/(^|\\s)#(\\w+)/\', \'\\1#<a
href="http://search.twitter.com/search?q=%23\\2″ rel="nofollow">\\2</a>\', $text);
$tweet = preg_replace(\'/(^|\\s)@(\\w+)/\', \'\\1@<a
href="http://www.twitter.com/\\2″ rel="nofollow">\\2</a>\', $tweet);
$tweet = preg_replace("#(^|[\\n ])(([\\w]+?://[\\w\\#$%&~.\\-;:=,?@\\[\\]+]*)(/[\\w\\#$%&~/.\\-;:=,?@\\[\\]+]*)?)#is", "\\\\1<a
href=\\"\\\\2\\" title=\\"\\\\2\\" rel=\\"nofollow\\">[link]</a>", $tweet);
return $tweet;
}

$username=\'teamworksdesign\'; // set user name
$format=\'json\'; // set format
$tweet=json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline/{$username}.{$format}")); // get tweets and decode them into a variable

$theTweet = parseTweet($tweet[0]->text);
$newTweet = substr($theTweet,0,65);
echo \'<a class="tweet" rel="nofollow" href="http://www.twitter.com/teamworksdesign"> "\' . $newTweet . \'..."</a>\';

?>

2 个回复
最合适的回答,由SO网友:Ramkumar M 整理而成

嗨,Rob@:尝试使用此插件Tweet This.您还可以设置自定义图像。:)

尝试此代码。。。

打开侧栏。phpLocate“twitter提要”div

<div class=”twitter-feed”>
<h2>What I’m up to…</h2>
<ul id=”twitter_update_list”></ul>
<script type=”text/javascript” src=”http://twitter.com/javascripts/blogger.js”></script>
<script type=”text/javascript” src=”http://twitter.com/statuses/user_timeline/JunLoayza.json?callback=twitterCallback2&amp;count=1″></script>
<div class=”follow-on-twitter”>
<a rel=”nofollow” href=”">Follow me on Twitter</a>
</div>
</div>
替换为Twitter用户名

<script type=”text/javascript” src=”http://twitter.com/statuses/user_timeline/AddYourUsernameHere.json?callback=twitterCallback2&amp;count=1″></script>
现在,您需要将您的twitter URL添加到“在twitter上关注我”链接。以下代码以蓝色列出:

<a rel=”nofollow” href=”http://Twitter.com/AddYourUsernameHere“>Follow me on Twitter</a>
最终代码

<div class=”twitter-feed”>
<h2>What I’m up to…</h2>
<ul id=”twitter_update_list”></ul>
<script type=”text/javascript” src=”http://twitter.com/javascripts/blogger.js”></script>
<script type=”text/javascript” src=”http://twitter.com/statuses/user_timeline/AddYourUsernameHere.json?callback=twitterCallback2&amp;count=1″></script>
<div class=”follow-on-twitter”>
<a rel=”nofollow” href=”http://Twitter.com/AddYourUsernameHere“>Follow me on Twitter</a>
</div>
</div>
保存并运行:)

SO网友:Rarst

这是一个讨厌的regexp。我建议调查一下Twitter entities 相反,这比自己解析要容易得多。

这与WP几乎没有关系,更适合网络中的其他站点。

结束

相关推荐

为什么我的Twitter小工具在我的主题中不起作用?

我在我的网站上安装了推特自己的小部件,效果很好。但是,在我的WP-powered博客上,包含了脚本,但没有呈现。我叫它在一个空的div 像这样:<?php include $_SERVER[\'DOCUMENT_ROOT\'].\'/twtr-widget.html\' ?> 但它在页面源代码中显示为HTML(我放“…”以节省空间):<script src=\"http://widgets.twimg.com/j/2/widget.js\"></script>