【问题标题】:Warning: preg_match() [function.preg-match]: Unknown modifier 'v'警告:preg_match() [function.preg-match]: Unknown modifier 'v'
【发布时间】:2011-07-16 07:37:35
【问题描述】:

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

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

可能出了什么问题?

【问题讨论】:

    标签: php regex warnings preg-match modifier


    【解决方案1】:

    如果字符串$id_base 中包含/,您的正则表达式将中断,因为您使用/ 作为正则表达式分隔符。

    要解决此问题,请在 $id_base 上使用 preg_quote

    if (preg_match('/'. preg_quote($id_base,'/').'-([0-9]+)$/', .....) {
    

    【讨论】:

    • 所以使用'preg_quote'而不是'$id_base'?你将如何重写这条线?
    • @Frank:我的回答有用。
    • 哎呀,抱歉没看到。哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 2011-08-21
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    相关资源
    最近更新 更多