我对PHP很新,并且很难理解最好的方法。我有一个数组:
$colours= array('Yellow', 'Red', 'Blue');
我现在需要检查这个数组的字符串,如果字符串中存在其中一种颜色,那么我们需要将结果输出到一个新变量中。这是一个示例字符串:
$string= "Black & Aztec Blue";
所以在这种情况下,所需的输出将是"蓝"。或者,如下所示,两个值都可以保存在第二个数组中?有没有人以前做过这样的事情?
所有帮助表示赞赏。
答案 0 :(得分:2)
使用替换|
创建匹配任何单词的正则表达式。
$regexp = '/\b(' . implode('|', $colours) . ')\b/'; // $regexp = '/\b(Yellow|Red|Blue)\b/'
if (preg_match($regexp, $string, $match)) {
$found_word = $match[0];
}
\b
匹配字边界,因此如果字符串与BlackBlue
相邻,则不匹配。如果你想在这种情况下匹配颜色,请将它们拿出来。