PHP - 搜索类似于数组中的字符串的字符串

时间:2017-10-19 13:40:05

标签: php

我创建了一个输入文本,在那里我写了一些我想在数组中搜索的内容。

我已经使用了stristr()和stripos()但是我只使用了相同的单词,例如:

<?php
    $value[0]= 'animals';
    //other array values

    $arrayResp = [];

    foreach($valuefounded as $value)
    {
          if(stristr($value, "animals") !== FALSE)
          {
            $arrayResp[]= $value;
          }
    }

如果我输入像“animls”这样的语法错误,我怎么能得到相同的结果

1 个答案:

答案 0 :(得分:1)

实现这一点没有简单的功能,但您可以使用soundexlevenshtein或类似功能构建类似的功能。为此,您必须将输入文本拆分为单词并对每个单词进行计算。

但你应该记住,这只适用于完整的单词。

function search_in_string($search, $text, $max = 2) {
    $words = explode(' ', $text);

    foreach ($words as $word) {
        if (levenshtein($word, $search) <= $max) {
            return strpos($text, $word);
        }
    }

    return false;
}