1

好的,我有以下数据:

liagel - ag, el, li, age, gel, lia

我正在尝试找到一种方法来获得字符串的完全匹配,您会看到字符串中存在所有单词,但我想以这种方式过滤它,所以我得到的最终结果是:

liagel = 利亚凝胶

谢谢。

4

1 回答 1

1

解决方案:

我通过使用 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;
    }
}
于 2013-07-15T08:38:35.237 回答