2013-05-27 31 views
-1

问题:的preg_match验证两个词在一个字符串

尝试验证表单字段具有在提交前至少两个单词。

PHP-代码:

if (!preg_match('^\w+\s\w+$', $_POST['freetext'])) 
{ 
    $error_array[] = 'missingwords'; 
} 

当前状态:

正在甚至印刷错误,当我在两个词在其间空间键入。这里有什么可能是错的?

回答

2

尝试

if (str_word_count($str)<3){ 
    // message 

    } 
0

PCRE使用regexen必须delimited

'/^\w+\s\w+$/' 

您需要打开错误报告,它会告诉你这件事。

1
if (!preg_match('#^\w+\s\w+#', $_POST['freetext'])) 
{ 
    $error_array[] = 'missingwords'; 
} 

两个问题:

  1. 您需要的模式分隔符。我添加了#
  2. 我删除了$标记,因为您至少需要2个单词。如果$标记在那里,只有正好有2个单词的字符串才能通过!
相关问题