0

我正在使用 PHP 将 RSS 提要解析到 MySQL 数据库中。在将新条目插入数据库之前,我想检查(通过比较项目的标题)在 MySQL 数据库中是否已经有类似的条目可用并相应地标记它们。现在我不知道如何确定所列示例中的候选者是源的潜在重复项。

例子:

资源:

  • CES: Panasonic und Technisat neu in der Smart TV Alliance

候选人:

  • Panasonic、IBM、Specific Media、ABOX42 和 TechniSat ... - 区域 DVD
  • CES 2013:松下、IBM、特定媒体、ABOX42 和 TechniSat ...
  • Panasonic ABOX42 IBM 特定媒体和 TechniSat ExpandBuild Once ...
  • 松下、IBM、Specific Media、ABOX42 和 TechniSat erweitern die ...
  • ...

已经尝试过array_intersect和levenshtein(),但是结果不是很准确。如果没有更多的想法。

最好的,安德烈亚斯

4

1 回答 1

0

只是大声思考并给出一些指示:

  • 删除除数字、字母和空格之外的所有内容

    $title = preg_replace('/[^\w\d ]+/', '', $title);
    
  • 分解成一个数组

    $parts = preg_split('/\s+/', $title);
    
  • 您现在可以选择计算重复的单词:array_count

  • 最后,您可以将生成的数组相互比较并检查重复项,例如 80% 的可能性(80% 的数组项匹配)

于 2013-01-13T13:09:45.297 回答