Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 筛选,搜索字符串中的单词_Php_String_Filter - Fatal编程技术网

Php 筛选,搜索字符串中的单词

Php 筛选,搜索字符串中的单词,php,string,filter,Php,String,Filter,好的,我有以下数据: liagel-银,el,锂,年龄,凝胶,锂 我试图找到一种方法来获得字符串的精确匹配,你可以看到所有的单词都存在于字符串中,但我想用这种方法对其进行过滤,所以我得到的最终结果是: liagel=liagel 谢谢。解决方案: 通过使用PEAR中的数学组合库,我找到了一个快速而简单的解决方案(该类创建了关键字的所有变体,然后我将这些变体与原始字符串进行匹配,并获得最终结果)。简单代码(来自2个单词)如下所示: require_once 'library/Combinatori

好的,我有以下数据:

liagel-银,el,锂,年龄,凝胶,锂

我试图找到一种方法来获得字符串的精确匹配,你可以看到所有的单词都存在于字符串中,但我想用这种方法对其进行过滤,所以我得到的最终结果是:

liagel=liagel


谢谢。

解决方案:

通过使用PEAR中的数学组合库,我找到了一个快速而简单的解决方案(该类创建了关键字的所有变体,然后我将这些变体与原始字符串进行匹配,并获得最终结果)。简单代码(来自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;
    }
}

解决方案:

通过使用PEAR中的数学组合库,我找到了一个快速而简单的解决方案(该类创建了关键字的所有变体,然后我将这些变体与原始字符串进行匹配,并获得最终结果)。简单代码(来自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;
    }
}

这场比赛总是分两段进行吗?我想一个字符串中的单词不会超过三个。另一个例子是anarad-ad,an,ar,na,ana,rad。。。是的,可能会有不止一个结果。这个例子也匹配了两个元素,但有两个变体,两个单词和三个单词:an,ar,ad-ana,radso你想让程序返回两个变量吗?匹配总是在两个段中完成。我想字符串中不会有超过3个单词。另一个例子是anarad-ad,an,ar,na,ana,rad。。。是的,可能会有不止一个结果。这个例子也匹配了两个元素,但是有两个变体,两个单词和三个单词:an,ar,ad-ana,radso你想让程序同时返回这两个变体吗