LDAP - 从DN中提取CN值

时间:2013-10-31 02:06:34

标签: php ldap

我想从以下代码中$output[$i]返回的DN中提取CN值:

$result=ldap_search($conn, $ldap_dn, "cn=$myId",array("givenname","sn","memberof","primarygroupid")) or die("No search data found."); 

$info = ldap_get_entries($conn, $result);

$output = $info[0]['memberof'];
array_shift($output);

$arrlen = count($output);
       for ($i=0; $i<$arrlen; $i++)
          {
          print $output[$i] . "\n";
          }

示例输出

CN=FMDHS-PLM-WebTest-3,OU=Permission,OU=Groups,DC=uniwa,DC=uwa,DC=edu,DC=au

所以在这个例子中我想得到FMDHS-PLM-WebTest-3

我有什么想法可以做到这一点?我是否需要使用PHP解析字符串,或者我可以在LDAP中使用它来实现这一点吗?

修改

我最终使用ldap_explode_dn

$arrlen = count($output);
       for ($i=0; $i<$arrlen; $i++)
          {  
        $parsr=ldap_explode_dn($output[$i], 0); 
        print str_replace('CN=', '', $parsr[0]) . "\n";
          }

1 个答案:

答案 0 :(得分:0)

我做了这个样本测试:

<?php
$sample = "CN=FMDHS-PLM-WebTest-3,OU=Permission,OU=Groups,DC=uniwa,DC=uwa,DC=edu,DC=au";
$test = explode(",",$sample);
echo $test[0];
?>