2016-08-16 114 views
0

我有一个基于数组构建正则表达式的函数。问题在于PHP不断向一些字符添加反斜杠,并且它一直在搞乱正则表达式。停止PHP将反斜杠添加到字符串

这里是我的功能:

private static $allowedPermissions = [ 
/*SV*/ 
    'user_add', 
    'user_edit', 
    'user_delete', 
    'user_view']; 


    $regexrule = '/'; 

    foreach (self::$allowedPermissions as $allowedPermission) { 
     $regexrule .= '\b'.$allowedPermission.'\b'; 
     if(end(self::$allowedPermissions) !== $allowedPermission) $regexrule .='|'; 
    } 

    $regexrule .= "/"; 
    return 'regex:'.$regexrule; 

它添加反斜杠,我不希望他们:

regex:\/\\buser_add\\b|\\buser_edit\\b|\\buser_delete\\b|\\buser_view\\b|\\bpatient_add\\b|\\bpatient_edit\\b|\\bpatient_delete\\b|\\bpatient_view\\b|\\bmake_per\\b|\\bmake_per_withconfirmation\\b|\\bconfirm_per\\b|\\beval_per\\b|\\beval_per_withconfirmation\\b|\\bconfirm_per_report\\b\/

Backup screenshot of regex

有没有解决办法?

回答

0

我发现以json格式返回它是添加反斜杠。