返回给定字符串的数组中任何正则表达式的匹配项


Return match of any regex in an array given a string

根据文档,preg_grep在数组中搜索正则表达式。

有没有任何函数可以接受一个正则表达式数组并将其与字符串进行比较?

例如:

$arr = array("^foo-", "-bar$");
magic_function($arr,"Just a string"); // returns false
magic_function($arr,"foo-"); // returns true

没有内置的函数可以做到这一点,但您可以轻松地构建自己的:

function magic_function($arr,$str) {
    foreach($arr as $regex) {
        if( preg_match($regex,$str)) return true;
    }
    return false;
}