警告:preg_match()[function.preg-match]:未知修饰符'v'

Fra*_*lar 5 php regex warnings modifier preg-match

在我的wordpress博客中,我不断收到关于同一行代码的错误大约20次.以下是不断收到错误的代码行.

if ( preg_match( '/' . $id_base . '-([0-9]+)$/', $widget_id, $matches ) )
        $number = max($number, $matches[1]);
Run Code Online (Sandbox Code Playgroud)

可能有什么不对?

cod*_*ict 5

如果字符串中$id_base包含正则表达式,那么正则表达式将会中断/,因为正在使用/正则表达式分隔符.

为了解决这个问题使用preg_quote$id_base为:

if (preg_match('/'. preg_quote($id_base,'/').'-([0-9]+)$/', .....) {
Run Code Online (Sandbox Code Playgroud)