帮助将PHP eregi转换为preg_match

时间:2011-04-20 20:56:50

标签: php regex preg-match

我想知道是否有人可以帮我转换一段现已弃用的PHP代码。

以下是我要转换的单行:

eregi("<text>(.*)TYPE[ \r\n]*(OF|or)[ \r\n]*REPORTING[ \r\n]*PERSON",$string,$outp);

当我转换为以下内容时:

preg_match("/<text>(.*)TYPE[ \r\n]*(OF|or)[ \r\n]*REPORTING[ \r\n]*PERSON/i",$string,$outp);

没有任何匹配。原始的eregi功能运行良好。

1 个答案:

答案 0 :(得分:2)

您需要在正则表达式末尾添加/is标记。

原因是preg_函数与.*的换行符不匹配,而旧的ereg函数默认情况下会这样做。

否则你的正则表达式应该与PCRE保持不变。