Php 请给我解释一个preg_match if子句

Php 请给我解释一个preg_match if子句,php,preg-match,Php,Preg Match,假设键值为=be4e53680e6518cca701ec091258642f0740fe3d 有人能给我解释一下if的情况吗?我搞不清楚它到底在检查什么 好的,谢谢你们的澄清。 现在我又发布了一行与此相关的代码。如果你能帮我理解它 if(preg_match("/^[\w_.]+$/",stripslashes($_GET['key']))) { $key = $wpdb->escape(stripslashes($_GET['key'])); }

假设键值为=be4e53680e6518cca701ec091258642f0740fe3d

有人能给我解释一下if的情况吗?我搞不清楚它到底在检查什么

好的,谢谢你们的澄清。 现在我又发布了一行与此相关的代码。如果你能帮我理解它

        if(preg_match("/^[\w_.]+$/",stripslashes($_GET['key']))) {
        $key = $wpdb->escape(stripslashes($_GET['key']));
    }
假设$u GET['key']=be4e53680e6518cca701ec091258642f0740fe3d

$name=TomJones

到目前为止,我得到的是: 如果$\u GET['key']是数字,那么$key=stripslashes(GET\u key)


但是else什么时候会退出?

它在请求的键参数中查找包含字母数字字符、下划线和点的字符串,下划线是可操作的,因为\w处理它

点不应该转义,因为它在字符类中。请参阅此贴出的对我的代码的编辑。请检查密钥参数何时不符合regexp,主要是当它将为空或不包含上述任何字符时
        if(preg_match("/^[\w_.]+$/",stripslashes($_GET['key']))) {
        $key = $wpdb->escape(stripslashes($_GET['key']));
    } else {
        if(preg_match("/^[\w_.]+$/",$name)) {
            $wpdb->query("some query;");
        }
        exit(0);
    }