添加到php twitter状态脚本

添加到php twitter状态脚本,php,twitter,Php,Twitter,我正在使用下面的脚本显示我的twitter状态,但我想添加一个选项,不显示以@username开头的tweet。我已经这样做了,所以它不会显示我的用户名,但不想显示回复给其他用户的tweet 谢谢 $doc = new DOMDocument(); # load the RSS if($doc->load('twitterurlrss')) { # number of tweets to display. 20 is the maximum $max_tweets = 3;

我正在使用下面的脚本显示我的twitter状态,但我想添加一个选项,不显示以@username开头的tweet。我已经这样做了,所以它不会显示我的用户名,但不想显示回复给其他用户的tweet

谢谢

$doc = new DOMDocument();
# load the RSS
if($doc->load('twitterurlrss')) {
    # number of tweets to display.  20 is the maximum $max_tweets = 3;    
    $i = 1;
    foreach($doc->getElementsByTagName('item') as $node) {
        # fetch the title from the RSS feed
        $tweet = $node->getElementsByTagName('title')->item(0)->nodeValue;
        $date = $node->getElementsByTagName('pubDate')->item(0)->nodeValue;
        $link = $node->getElementsByTagName('link')->item(0)->nodeValue;
        # the title of each tweet starts with "username: " which I want to remove
        $tweet = substr($tweet, stripos($tweet, ':') + 1);
        $date = date("dS F Y", strtotime($date));  
        # Turn URLs into links
        $tweet = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@',  '<a href="$1">$1</a>', $tweet);
        # Turn @replies into links
        $tweet = preg_replace("/@([0-9a-zA-Z]+)/", "<a href=\"twitterurl/$1\">@$1</a>", $tweet);
        # Turn & into &amp;
        $tweet = preg_replace('@&@',  '&amp;', $tweet);
        if($i%2 == 0) {
            echo "<div class=\"three-col center\"><p>" . $tweet . "<br /><span class=\"quiet\"><ahref=\"" . $link . "\">". $date . "</a></span></p></div>\n";
        } else {
            echo "<div class=\"three-col\"><p>" . $tweet . "<br /><span class=\"quiet\"><ahref=\"" . $link . "\">" . $date . "</a></span></p></div>\n";
        }
        if($i++ >= $max_tweets)
            break;
    }
}
$doc=newDOMDocument();
#加载RSS
如果($doc->load('twitterurlrss')){
#要显示的tweets数。20是最大$max_tweets=3;
$i=1;
foreach($doc->getElementsByTagName('item')作为$node){
#从RSS提要获取标题
$tweet=$node->getElementsByTagName('title')->item(0)->nodeValue;
$date=$node->getElementsByTagName('pubDate')->item(0)->nodeValue;
$link=$node->getElementsByTagName('link')->item(0)->nodeValue;
#每条tweet的标题都以“username:”开头,我想删除它
$tweet=substr($tweet,stripos($tweet,:')+1);
$date=日期(“dS F Y”,标准时间($date));
#将URL转换为链接
$tweet=preg\u replace('@(https?:/([-\w\.]+)+(:\d+)(/([\w/\.]*(\?\S+)),'','$tweet);
#将@回复转换为链接
$tweet=preg_replace(“/@([0-9a-zA-Z]+)/”,“”,$tweet);
#变成;
$tweet=preg_replace('@&@','&;',$tweet);
如果($i%2==0){
回声“”$tweet.

\n”; }否则{ 回声“”$tweet.

\n”; } 如果($i++>=$max_tweets) 打破 } }

(我试图将超链接伪装成无法发布多个超链接)

听起来您想添加这样的条件:

if(preg_match('/^\s*@([0-9a-zA-Z]+)/', $tweet))
    continue;
$tweet=substr($tweet,stripos($tweet,:')+1)之后


更完整的匹配。在某些情况下,另一个将不正确匹配

感谢您编辑post.FYI,如果我的答案解决了您的问题,那么您可以接受它(单击复选框图标)。:)
if(preg_match('/(|\s)@([0-9a-zA-Z]{3,})/', $tweet))
    continue;