【问题标题】:preg_match not working with single quotespreg_match 不适用于单引号
【发布时间】:2013-11-09 10:35:23
【问题描述】:

我在转义 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\'\)

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

问候 杰克

【问题讨论】:

    标签: string validation namespaces preg-match stripslashes


    【解决方案1】:

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

    您的任何一个建议都适用于正确的括号:

    [\w'-]
    [A-Za-z'-]
    

    【讨论】:

      猜你喜欢
      • 2020-05-10
      • 1970-01-01
      • 2012-01-11
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多