【问题标题】:Warning: preg_match警告:preg_match
【发布时间】:2012-06-16 01:35:04
【问题描述】:

警告:preg_match() [function.preg-match]:编译失败: 偏移量 3 处不匹配的括号 /home/watchit/public_html/wp-includes/class-wp.php 在第 201 行

为此:

if ( preg_match("#^$match#", $request_match, $matches) ||

改成这样:

if ( preg_match("#^$match#", $request_match, $matches)) ||

得到了这个:

解析错误:语法错误,意外的 T_BOOLEAN_OR in /home/watchit/public_html/wp-includes/class-wp.php 在第 201 行

【问题讨论】:

    标签: php wordpress


    【解决方案1】:
    if ( preg_match("#^".preg_quote($match,'#'),"#", $request_match, $matches) ||
    

    还要注意我在|| 之前删除了额外的)

    【讨论】:

    • if ( preg_match("#^".preg_quote($match,'#'),"#", $request_match, $matches) preg_match("#^$match#", urldecode($ request_match), $matches) ) {
    • 202 Parse error: syntax error, unexpected T_STRING in /home/watchit/public_html/wp-includes/class-wp.php on line 202
    • @MichaelJohnson:您似乎忘记将|| 放在它们之间...您也应该在第二个preg_match 模式上使用preg_quote thingamayig。
    【解决方案2】:

    您的 OR 运算符 ( || ) 必须是 if 子句的一部分,所以

    if ( preg_match("#^$match#", $request_match, $matches)) ||
    

    需要成为

    if ( preg_match("#^$match#", $request_match, $matches) || your other conditions ){
    

    【讨论】:

    • 其实很好奇这次否决票,我错过了什么会导致这样的解析错误?
    猜你喜欢
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多