不好意思,忘了说了,是不与数据库现关的搜索,比如说是从各个文件的内容或标题来进行搜索的

解决方案 »

  1.   

    没太理解你的意思,
    但用户如果把关键字用空格分开的话,最可能的目的就是想模糊、多项搜索——
    所以我的做法是将非有效的字符(如标点、包括空格)替换成 | ,如
      $keyword=trim($keyword);
      $keyword=preg_replace('/[^'.chr(0xa1).'-'.chr(0xff).'a-zA-Z0-9]+/',' ',$keyword);
      $keyword=preg_replace('/\s+/','|',$keyword);
    而 | 在正则中是 或 的意思,正好进行多项匹配,如
      preg_match('/'.$keyword.'/i',$var,$matches)
    ......进而实现多项、模糊搜索
      

  2.   

    多谢楼上的回答,分都给你啦