さて、私は次のデータを持っています:
liagel - ag、el、li、age、gel、lia
そして、文字列の完全一致を取得する方法を見つけようとしています。すべての単語が文字列に存在することがわかりますが、この方法でフィルタリングしたいので、最終結果は次のようになります。
リアジェル=リアジェル
ありがとう。
ソリューション:
PEAR http://pear.php.net/package/Math_Combinatorics/の Math Combinatorics ライブラリを使用して、すばやく簡単な解決策を見つけました(このクラスは、キーワードから利用可能なすべてのバリエーションを作成し、これらのバリエーションを元の文字列と照合し、私の最終結果を得る)。簡単なコード (2 ワードから) は次のようになります。
require_once 'library/Combinatorics.php';
$c = new Math_Combinatorics;
$words = array('ag', 'el', 'li', 'age', 'gel', 'lia');
$string = 'liagel';
foreach($c->permutations($words, 2) as $p) {
$tmp_word = join('', $p);
$tmp_word_2 = join(' ', $p);
if ($tmp_word == $string) {
$found[$string] = $tmp_word_2;
}
}