【发布时间】:2013-08-11 03:35:21
【问题描述】:
我正在尝试使用正则表达式在字符串中查找匹配项,但无法正常工作。
我想匹配function gcb_process的出现。
这就是我所做的:
$gatewayname = basename($path, ".php");
$contents = file_get_contents($path);
$searchname = $gatewayname . "_process";
preg_match("/function\s*".$searchname."/i", $contents, $matches);
我总是收到警告:
警告:preg_match_all():编译失败:偏移 11 处没有可重复的内容
这是怎么做到的?
【问题讨论】:
-
警告与您在此处显示的 PHP 代码无关。您需要向我们展示您调用
preg_match_all()的代码,而不是preg_match()。 -
我实际上使用了 preg_match_all 而不是 preg_match
-
“这就是我所做的:”
preg_match("/function\s*gcb_process/i", $contents, $matches); -
您需要准确地向我们展示您运行的代码,以及准确地您收到的错误消息。否则,我们无法帮助您。释义和总结不算在内。
-
只是一个注释,它是
\s+而不是\s*,因为至少会有一个空格字符。