Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
preg_将php与括号匹配,确定字符串不起作用_Php_Regex - Fatal编程技术网

preg_将php与括号匹配,确定字符串不起作用

preg_将php与括号匹配,确定字符串不起作用,php,regex,Php,Regex,嗨,为什么preg_与括号匹配,而确定的字符串不工作 请让我知道您搜索“uRole('Admin')”的解决方案 两个原因这不起作用 您必须在REGEX中转义()(否则它将假定为一个组) 在三元运算符中不使用echo;它必须早到 echo (STATEMENT_TO_EVALUATE = [TRUE | FALSE]) : TRUE_VALUE : FALSE_VALUE; 工作代码 $check ='if(uRole("Admin")||uRole("Des

嗨,为什么preg_与括号匹配,而确定的字符串不工作

请让我知道您搜索“uRole('Admin')”的解决方案


两个原因这不起作用

  • 您必须在REGEX中转义
    ()
    (否则它将假定为一个组)

  • 在三元运算符中不使用
    echo
    ;它必须早到

    echo (STATEMENT_TO_EVALUATE = [TRUE | FALSE]) : TRUE_VALUE : FALSE_VALUE;
    
  • 工作代码

    $check ='if(uRole("Admin")||uRole("Design")){';
        
    echo preg_match('/uRole\("Admin"\)/i', $check, $matches) ? "match" : "";
    
    这是因为
    是用于创建

    因为它是一个特殊字符,所以应该使用反斜杠对其进行转义:

    if(预匹配('/uRole\(“Admin”\)/i',$check)){
    回声“匹配”;
    }
    
    顺便说一下,在这种情况下,简单的方法可能更合适:

    if(stripos($check,'uRole(“Admin”))!==false){
    回声“匹配”;
    }
    
    $check ='if(uRole("Admin")||uRole("Design")){';
        
    echo preg_match('/uRole\("Admin"\)/i', $check, $matches) ? "match" : "";