我创建了一个输入文本,在那里我写了一些我想在数组中搜索的内容。
我已经使用了stristr()和stripos()但是我只使用了相同的单词,例如:
<?php
$value[0]= 'animals';
//other array values
$arrayResp = [];
foreach($valuefounded as $value)
{
if(stristr($value, "animals") !== FALSE)
{
$arrayResp[]= $value;
}
}
如果我输入像“animls”这样的语法错误,我怎么能得到相同的结果
答案 0 :(得分:1)
实现这一点没有简单的功能,但您可以使用soundex
,levenshtein
或类似功能构建类似的功能。为此,您必须将输入文本拆分为单词并对每个单词进行计算。
但你应该记住,这只适用于完整的单词。
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;
}