PHP怎么快速找出字符串中匹配的字符(不能用正则)

WBOY
Release: 2016-06-23 14:09:28
Original
1057 people have browsed it

$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] => 人中国)
Copy after login


当然也可以用正则去匹配,我是想知道有没有更快的方法,谢谢大家!


回复讨论(解决方案)

$tags =  "中国,百度中国,人中国,漫画交流";preg_match_all('/[^,]*中国[^,]*/',$tags,$m);print_r($m);
Copy after login
Copy after login

Array
(
[0] => Array
(
[0] => 中国
[1] => 百度中国
[2] => 人中国
)

)

这方法行不行?

$keyword = '中国';
$tags = ['中国', '百度中国', '人中国', '漫画交流'];

$match = array_filter($tags, function ($el) use ($keyword) {
return (strpos($el, $keyword) !== FALSE);
});


Array
(
[0] =>中国
[1] =>百度中国
[2] =>人中国
)

$tags =  "中国,百度中国,人中国,漫画交流";preg_match_all('/[^,]*中国[^,]*/',$tags,$m);print_r($m);
Copy after login
Copy after login

Array
(
    [0] => Array
        (
            [0] => 中国
            [1] => 百度中国
            [2] => 人中国
        )

) 不能用正则表达式哦

这方法行不行?

$keyword = '中国';
$tags = ['中国', '百度中国', '人中国', '漫画交流'];

$match = array_filter($tags, function ($el) use ($keyword) {
  return (strpos($el, $keyword) !== FALSE);
});


Array
(
    [0] =>中国
    [1] =>百度中国
    [2] =>人中国
)
这个可以哦  谢谢

why不能用正则表达式哦?

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template