2016-08-16 17 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形式で返すとバック​​スラッシュが追加されていることがわかりました。

関連する問題