PHP プロジェクトでこの問題を解決する必要があります。この問題では、一部のキーワード (数百から数千まで、長さはさまざま) を 100 ~ 300 文字の長さ、場合によっては 30 ~ 50 文字の短い文字列で検索する必要があります。検索文字列の新しいインスタンスを再利用するために、キーワードを前処理できます。私はPHPが初めてで、PHPライブラリでこれを行う方法が見つかりませんでした。少し検索したところ、Aho Corasick アルゴリズムでいくつかの適切な候補が見つかりました。次に、Sun Wu と Udi Manber によるこの改善は、agrep としても知られている (または agrep の一部である) ようです: http://webglimpse. net/pubs/TR94-17.pdf
Rabin Karp や Suffix Trees などもありますが、最初は固定長のキーワード用で、後者は非常に汎用的でかなり多くの作業が必要になるため、あまり適していないように見えました。
Agrep/Sun Wu-Manber を PHP で自分で実装することがこの問題を解決する良い方法であるかどうか、誰か教えてもらえますか? 別のフィードバックはありませんか?
編集: 以下のコメントで述べたように、何百もの異なる検索キーワードがあるため、正規表現は役に立ちません。したがって、その応答は役に立ちません。