ホームページ  >  記事  >  バックエンド開発  >  PHP で文字列内の一致する文字をすばやく見つける方法 (正規表現は使用できません)

PHP で文字列内の一致する文字をすばやく見つける方法 (正規表現は使用できません)

WBOY
WBOYオリジナル
2016-06-23 14:09:281056ブラウズ

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


もちろん、正規表現を使用して一致させることもできます。もっと速い方法があるかどうか知りたいだけです。皆さんありがとうございます。


返信 ディスカッション (解決策)


array
(
[0] = & gt; array
(
[0] = & gt; 中国
[1] = & gt; Baidu China > の人々中国
)

)

この方法は実現可能ですか?


$keyword = '中国';
$tags = ['中国', 'Baidu China', '中国の人々', '漫画交換'

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


配列
(
[0] =>中国
[1] =>中国
[2] =>人中国
)

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

Array
(
[0] => [1] => Baidu China
[2] => ; 中国出身の人々
)

) 正規表現は使えません

この方法は可能でしょうか?

$keyword = '中国';

$tags = ['中国', 'Baidu China', '中国の人々', '漫画交換'


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


配列
(
[0] =>中国
[1] =>中国
[2] => 中国の方
)
これで大丈夫です、ありがとうございます

正規表現を使用できないのはなぜですか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。