2

我正在尝试将以下ereg()调用转换为使用preg_match()

if (ereg('(.*/)(.*)$',$fileref,$reg)    )   {

这是preg_match()我试图将其替换为的调用:

if (preg_match('(.*/)(.*)$',$fileref,$reg)  )   {

当我运行此代码时,出现以下错误:

preg_match(): Unknown modifier '('

ereg()preg_match()导致此错误的语法有什么区别?

4

1 回答 1

3
preg_match('~(.*/)(.*)$~',$fileref,$reg)

您必须定义分隔符。我用过~,但你可以使用任何你喜欢的分隔符(它总是第一个字符)。模式本身必须以定界符结尾(但修饰符可以跟在后面),并且在模式中使用时必须转义定界符。

但值得一提的是:模式只是在寻找 a /,因此正则表达式只是过大了。

if (strpos($fileref, '/') !== false) { /* do something */ }
于 2011-08-22T21:42:04.107 回答