0
我正在扫描推文以查看它们是否转推。该锐推约定为“RT @用户”(我假设大家都知道:-)例子:将过滤RT(转推)和@UserName作为鸣叫标签
$tweet = "RT @SeekingAlpha: Best Stock Bargains";
每当我遇到一个转推,我试图找到原来的鸣叫在推特的数据库:
function _process_retweets($tweet) {
if (substr($tweet, 0, 2) == "RT") {
$original = preg_replace("/^RT [email protected][^ :]+:? */ui", "", $tweet);
$id_str = false;
$id_str = db_result(db_query("SELECT id_str FROM tweets WHERE text = '%s'", $original));
$tag = ($id_str != false) ? '{RT:' . $id_str . '}' : '{RT}';
return preg_replace("/^RT/ui", $tag, $tweet);
}
else {
return $tweet;
}
}
这将返回:
{RT:3423124} @SeekingAlpha: Best Stock Bargains
现在,我所遇到的不同的格式,谁不要将“RT”的鸣叫的开头:
$tweet = "Wow! Look at this - RT @SeekingAlpha: Best Stock Bargains";
现在,我的功能不再工作了。我会扫描“RT”,但我可能还会看到类似“我是对吗?rt?”作为转推指标。所以我将不得不寻找整个约定:推文中任何地方的“RT @ UserName”。这样做的最佳方式是什么,以便输出为
Wow! Look at this - {RT:4326565} @SeekingAlpha: Best Stock Bargains
?