preg_match()找不到结尾的分隔符

时间:2012-07-05 00:37:26

标签: php preg-match

我已阅读thisthis以及this,以及其他六个关于preg_match的其他问题,我仍然无法弄清楚这一点

我开始使用CodeReview问题中的this代码并收到错误消息,说明找到了preg_match()无分隔符'/'。

有人可以帮我解决吗?有问题的代码就是这句话:

if (preg_match($regex, $user_agent)) {

您可以通过查看问题本身中新编辑的代码版本的底部,并计算大约12行(不计算空行)来找到它。

2 个答案:

答案 0 :(得分:3)

查看Code Review上发布的代码,在$ os_array中有以下行:

'/win16'                =>  'Windows 3.11',

在该行的正则表达式末尾缺少/i,这可能导致您的错误。上面的一行也缺少i,但这不会破坏任何东西。

正如paxdiablo建议的那样,在循环中打印我们的$regex变量应该很快就会发现这个问题。

答案 1 :(得分:1)

这是调试101的东西。在:

之后立即插入一条陈述
foreach ($browser_array as $regex => $value) {

打印出$regex$value的当前值。

应该(希望)向你展示它正在抱怨的内容。

这也应该对早期的阵列扫描进行,在那里你可以找到由JohnC选择的错误'/win16'