0

RSS フィードを PHP で MySQL データベースに解析しています。DB に新しいエントリを挿入する前に、(アイテムのタイトルを比較して) MySQL データベースに同様のエントリが既に存在するかどうかを確認し、それに応じてフラグを立てたいと思います。リストされた例の候補がソースの重複の可能性があることを判断する方法がわかりません。

例:

ソース:

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

候補:

  • パナソニック、IBM、特定のメディア、ABOX42 および TechniSat ... - エリア DVD
  • CES 2013: パナソニック、IBM、特定のメディア、ABOX42 および TechniSat ...
  • Panasonic ABOX42 IBM 固有のメディアと TechniSat ExpandBuild 1 回 ...
  • Panasonic、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 に答える