PHP最新推文

时间:2011-08-08 14:26:44

标签: php twitter

我创建了一个twitter类,其中的方法根据指定的用户提取最新的推文...使用twitter .XML

class twitter {

// Set twitter basepath
public $basepath = 'http://twitter.com/statuses';

function tweet($username){   

    $xml = new SimpleXMLElement($this->basepath.'/user_timeline/'. $username .'.xml?count=1', NULL, TRUE);
    $status = $xml->status->text;

    return '<b>' . $username . ' says: </b>' . $status;
}

}

这个回声出来了

XXXXX says: @XXXX Moving it up to 10am on Sunday - it's about a 1.5 hour drive.

如何让php将“@”标签链接为HTML链接而不仅仅是文本? 有没有办法找到字符串“@”并用href替换剩余的单词?

2 个答案:

答案 0 :(得分:1)

您可以使用与此模式匹配的PHP正则表达式:
 @([A-Za-z0-9_]+)获取所有@USER标记。

从那里,您可以将文本包装在<a href="USER">@USER</a>

(应该工作:)

实施例

<?php
preg_match_all("@([A-Za-z0-9_]+)",
    $tweet,
    $users, PREG_PATTERN_ORDER);

foreach($user in $users) {
    str_replace($user,
        "<a href='http://twitter.com/".substr($user, 1)."'>" . $user . "</a>",
        $tweet);
}
?>

答案 1 :(得分:1)

我正在使用这个:

$status = preg_replace('#@(\w+)\b#', '<a href="http://twitter.com/$1">@$1</a>', $status);