我有关键字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'];
}
}
?>
如果您的目标是为每个匹配的key_phrase做点什么,那么这已经非常有效了。
如果找到某个内容,preg_match将返回true,因此不需要$matches。
foreach ($tags as $tag) {
if (preg_match("/".$tag['key_phrase']."/", $content)) {
echo "key_phrase present ".$tag['key_phrase'];
}
}
如果您只想知道是否有键语法匹配,您应该将所有这些组合为一个"大"正则表达式,格式为"abc|xyc"。因为这将比单独测试更有效率。