PHP通配符搜索

时间:2017-09-28 00:28:06

标签: php arrays regex

我尝试设置通配符搜索,其中用户可以使用%作为每个单个未知字母数字的通配符。这个搜索在一个循环中运行,每分钟可能发生几次1000次 - 这就是我寻找最快代码的原因。

所以这就是我修补的东西 - 似乎有效 - 但在我眼里看起来很可怕愚蠢?因为我对这个正则表达式的东西很新 - 任何想法/回应/纠正/改进都非常受欢迎:)

有没有比我的新手编码更好/更清洁/更快的方式???

$haystack = explode(',', str_replace('%', '.', strtoupper('DEISD, B%W951%, CCA828')));

$needle = strtoupper('BAW951L');

foreach ($haystack as $pattern) {
    preg_match('/^' . trim($pattern) . '$/', $needle) ? $match = 'true' : $match = 'false';
    // just for debug print what it does
    print(preg_match('/' . trim($pattern) . '/', $needle) . PHP_EOL);
    print($match . PHP_EOL);
}

0 个答案:

没有答案