4

我想从$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";
          }
4

1 回答 1

1

I made this sample test:

<?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];
?>
于 2013-10-31T02:10:27.540 回答