清理解析ldap查询结果的方法

时间:2017-10-25 18:15:34

标签: php active-directory explode

我正在解析对活动目录的ldap调用的结果。我试图让所有用户都进入安全组。以下是我的结果:

    $res =    [member] => Array
            (
                [count] => 2
                [0] => CN=User 1,OU=SomeOU,DC=someDC,DC= someDC2
                [1] => CN=User 2,OU=SomeOU,DC= someDC,DC= someDC2
            )

有没有更简洁的方法来获得结果的名称? (即用户1,用户2)

         foreach ($res['member'] as $k => $v){
             $exp = explode("=",$v);
             $exp = explode(",",$exp[1]);
             $name = $exp[0];
             echo $name."\n";
         }

1 个答案:

答案 0 :(得分:1)

不确定执行此操作的方式更为明确,但您可以使用preg_match功能。

foreach($member as $key => $value) {
    $matches = [];
    if (preg_match('/^CN=(.*?),OU/', $member, $matches)) {
        echo "$matches[1]\n";
    }
}