希望这是有道理的。我有一个php脚本,magpierss,解析RSS提要并将数据插入MySql,它工作正常。我将RSS项目的各个部分变为变量以使它们更易于使用,因此获取rss的各个部分不是问题。
但是,我的目标是能够过滤故事并仅导入某些故事。我想尽可能地自动化这个,并允许误报/否定,因为它们将在之后手动验证。
我希望能够为每个单词设置一个关键字列表和“权重”。因此,当解析新的RSS项时,脚本将根据描述字段中单词的权重创建“得分”。
例如:
stackoverflow = 10
very = 7
helpful = 8
所以“stackoverflow非常有帮助”将得到25分
并且“stackoverflow总是非常有用”仍然会得到25分,因为'是'和'总是'不是分配了权重的关键字。
由于没有关键字,和“随机随机”得分为0。
然后我可以使用关键字权重和分数来计算过滤rss Feed的最佳设置。
我大多数都可以搞清楚。我只需要知道一种解析项目描述的方法,并为指定的关键字指定权重以创建“得分”。
答案 0 :(得分:1)
PHP附带了一些有用的功能,例如strpos()和preg_match。前者将搜索特定字符串,preg_match将搜索正则表达式。您应该创建关键字及其权重的数组,然后运行每个关键字并检查描述是否包含该值。如果是这样,你增加一个重量计数器。这是一个简单的例子:
$keywords = array(
'stackoverflow' => 10,
'very' => 7,
'helpful' => 8
);
$description = $feed->getDescription(); // or wherever
$total_weight = 0;
foreach ($keywords as $keyword => $weight) {
if (strpos($keyword, $description))
$total_weight += $weight;
}
return $total_weight; // total weight of this item
无论如何都是这样的。还有其他方法可以做到这一点,但这应该让你开始。
祝你好运。