【发布时间】:2014-02-17 20:16:12
【问题描述】:
我正在尝试在数组中搜索单词(区域)列表。
但有时数组中的单词(区域)是 2 个单词。
即在数组中是“Milton Keynes”,所以“Milton”没有被匹配
我有什么办法可以做到这一点,而无需拆分数组中的任何双字(因为我认为这将对服务器造成很大的负担)
下面是我正在做的一个例子
foreach (preg_split("/(\s)|(\/)|(\W)/", $words) as $word){
if (in_array($word, $areaArray)){
$AreaID[] = array_search($word, $areaArray);
}
}
感谢,一如既往的任何建议!
【问题讨论】:
-
in_array仅适用于完全匹配。你必须遍历你的数组并自己寻找那些部分匹配。 -
准备您的单词列表以使用替代词
Milton|Keys|...并使用preg_grep。