0

我在转义 preg_match 函数上的单引号时遇到问题。

我想制作一个匹配各种名称的函数,也包括 O'Neill 等。

   if(preg_match("/^(\w){1,12}\s(\w){2,15}\D$/", stripslashes($name)))
    {
        $name = $db->real_escape_string(stripslashes($_POST['name']));
    }
    else
    {
        $errors[] = 'Name format should be: first name + second name(i.e. John Smith)      
   </br>';
    }    

我已经尝试了一切,还查看了董事会的各种示例,没有任何帮助;我试过了:

(\w'-)
(A-Za-z'-)
(A-Za-z\'\)

理想情况下,该函数应该允许名字和名字的组合(不允许任何整数)。

问候雅克

4

1 回答 1

0

范围用 表示[],而不是()

您的任何一个建议都可以使用正确的括号:

[\w'-]
[A-Za-z'-]
于 2014-03-11T21:32:09.923 回答