我正在尝试将以下ereg()
调用转换为使用preg_match()
:
if (ereg('(.*/)(.*)$',$fileref,$reg) ) {
这是我试图用替换的preg_match()
调用
if (preg_match('(.*/)(.*)$',$fileref,$reg) ) {
当我运行此代码时,会出现以下错误:
preg_match(): Unknown modifier '('
导致此错误的ereg()
和preg_match()
之间的语法差异是什么?
preg_match('~(.*/)(.*)$~',$fileref,$reg)
您必须定义分隔符。我使用了~
,但您可以使用任何您喜欢的分隔符(它总是第一个字符(。在模式中使用时,模式本身必须以分隔符结尾(但后面可以跟修饰符(,并且必须转义分隔符。
但值得一提的是:该模式只是在寻找/
,因此正则表达式只是过大。
if (strpos($fileref, '/') !== false) { /* do something */ }