我有关键短语abc,xyz,pqr,mno等。文字 - "此文本包含abc和mno",想要查找文本是否包含关键短语字符串。 我正在寻找有效的解决方案。请在下面找到我当前的代码。
<?php
$content = " this text contains keyphrases abc and mno ";
$tags = array(array('key_phrase'=>'abc'),array('key_phrase'=>'pqr'),array('key_phrase'=>'mno'));
foreach( $tags as $tag ){
$matches = array();
preg_match( "/".$tag['key_phrase']."/", $content, $matches );
if( !empty( $matches ) ){
echo "key_phrase present ".$tag['key_phrase'];
}
}
?>
答案 0 :(得分:1)
如果您的目标是为每个匹配的key_phrase执行某些操作,那么这已经非常有效。
如果找到了某些内容,preg_match将返回true,因此您不需要$ matches。
foreach ($tags as $tag) {
if (preg_match("/".$tag['key_phrase']."/", $content)) {
echo "key_phrase present ".$tag['key_phrase'];
}
}
如果你只是想知道任何 key_phrase是否匹配,你应该将所有这些组合成一个&#34; big&#34;正则表达式形式为&#34; abc | xyc&#34;。因为这比单独的测试更有效。