匹配数组中的单词会导致一些漏洞

时间:2014-04-11 07:01:13

标签: php

假设数组中有一个单词为" pan"并且用户输入了一个句子 包含一个单词"裤子"该程序匹配"裤子" as" pan"请帮助我,有关更多信息,阵列中也有一些词语,例如"我的代客","巢"等...需要匹配。提前谢谢。)

  if($val['items']!=null){
     $items = explode(',',$val['items']);
     foreach($items as $k=>$item){
       if($item!='' && preg_match("/".preg_quote($item,"/")."/", $opText)){
         if(!in_array($item,$parameters[$val['name']],true)){
            $parameters[$val['name']][]=$item;
         }
       }
     }
   }

1 个答案:

答案 0 :(得分:0)

使用空格等分隔符。当你搜索像“我的代客”这样的词搜索“我的代客”时,而不是搜索“pan”这个词搜索“pan”。你还需要处理它是否是句子的第一个单词,在这种情况下你忽略第一个空格。这会解决您的问题吗?