2012-07-19 98 views
0

我已经在网上找到了这个功能,但是当我将其粘贴到Dreamweaver或NetBeans中,他们旗了行错误:的preg_match错误

function valid_date($date){ 
     $search = '^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/'; 
     if(preg_match($search, $date)){ //**** error on this line **** 
      echo 'go'; 
     }else{ 
      echo 'no go'; 
     } 
} 

当我在浏览器中加载它,它来了意外的T_STRING错误。

有没有人有任何想法为什么?

更新的代码:

function valid_date($date){ 
    $search = '/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/'; 
    if(preg_match($search, $date)){ 
      echo 'go'; 
    }else{ 
      echo 'no go'; 
    } 
} 

截图 - http://www.nickstestsite.co.uk/preg_match.png

+0

错误信息是什么? – cegfault 2012-07-19 23:38:46

+0

在你的正则表达式开始处添加了缺少的'/'后(你说你已经有了但是不是在某个问题上儿子),你的代码在我的机器上运行时没有错误。您可能需要提供更多细节或上下文。 – 2012-07-21 03:00:16

+0

感谢您的帮助和答复;当我在Dreamweaver中输入函数时,我只是在“if(preg_match”)行上获得了一个语法错误标志,Netbeans在该行上表示了相同的语法错误,似乎不是关于正则表达式 - 只是preg_match函数。当上传时,我收到以下消息:解析错误:语法错误,行中出现意外的T_STRING(与错误消息相同的行)。将粘贴我的代码,如下所示... – 2012-07-21 09:05:17

回答

1

你需要在你的$search可变领先/在PHP中/的代表开始和正则表达式的结束。

+0

谢谢你的回复,我确实有一个/在开始...不知道为什么它没有复制!然而,错误消息显示在if(preg_match行 - 就像我错过了一些语法或什么? – 2012-07-20 16:42:21