我想知道是否有人可以帮我转换一段现已弃用的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功能运行良好。
答案 0 :(得分:2)
您需要在正则表达式末尾添加/is
标记。
原因是preg_函数与.*
的换行符不匹配,而旧的ereg函数默认情况下会这样做。
否则你的正则表达式应该与PCRE保持不变。