2017-10-25 21 views
0

활성 디렉토리에 대한 LDAP 호출 결과를 구문 분석하고 있습니다. 보안 그룹에 속한 모든 사용자를 얻으려고합니다. 결과는 다음과 같습니다.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)가이 일을 더 명확 방법입니다,하지만 당신은 preg_match 기능을 사용할 수

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

어쩌면 [ldap_explode_dn (http://php.net/manual/en/function.ldap-explode-dn.php) 또는 그것의 임의의 형제이다. – FirstOne

+0

제공된 솔루션이 효과가 있습니까? – mega6382

답변

1

확실하지.

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