我创建了一个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替换剩余的单词?
答案 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);