$tags =  "中国,百度中国,人中国,漫画交流"; //固定数据格式$tags_array = explode(',',$tag);$match_result = array(); //匹配的结果foreach($tags_array as $v){
      if(strpos($v,'中国') === false){
          continue; 
      }
      $match_result[] = $v;
}//输出结果
Array
(
    [0] => 中国
     [1] => 百度中国
     [2] => 人中国
)当然也可以用正则去匹配,我是想知道有没有更快的方法,谢谢大家!PHP字符串

解决方案 »

  1.   

    $tags =  "中国,百度中国,人中国,漫画交流";
    preg_match_all('/[^,]*中国[^,]*/',$tags,$m);
    print_r($m);
    Array
    (
        [0] => Array
            (
                [0] => 中国
                [1] => 百度中国
                [2] => 人中国
            ))
      

  2.   

    这方法行不行?$keyword = '中国';
    $tags = ['中国', '百度中国', '人中国', '漫画交流'];$match = array_filter($tags, function ($el) use ($keyword) {
      return (strpos($el, $keyword) !== FALSE);
    });
    Array
    (
        [0] =>中国
        [1] =>百度中国
        [2] =>人中国
    )