多模式匹配

需求

  • 一篇文章,多个关键词
  • 传递参数给一个函数,如 matchwords
  • 返回 每个关键词是否在文章中匹配到字符,并返回位置

传入参数形式

  • 注意:文章中肯定有换行、空格等
  • 关键词中也可能包括 空格,做一个关键词使用。 比如 “hp 笔记本”就是要匹配 hp后一个空格,后面出现笔记本的
$article = "文章内容,这里是文章内容,hp 电脑笔记本,我在中关村上班";
$words = array("hp 笔记本", "中关村", "电脑","杀毒软件 误报");
$return = matchwords($article, $words);
print_r($return);
$article = "文章内容,这里是文章内容,hp 电脑笔记本,我在中关村上班";
$words = "hp 笔记本\n中关村\n电脑\n杀毒软件 误报"; // \n表示换行
$return = matchwords($article, $words);
print_r($return);

返回结果

$return = array(
"hp 笔记本"=>-1,
"中关村"=> "2,18",  //2和18是中关村出现了两次的位置
"电脑" => "5",
"杀毒软件 误报" => -1
)

返回PHP数组

$return = "hp 笔记本:-1
中关村:2,18
电脑:5
杀毒软件 误报:-1";
)

返回一个字符串

参考资料

php/mutimatch.txt · 最后更改: 2009/05/04 10:45 由 kenvin
到顶部
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 红麦软件 红麦软件