我想从以下代码中$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";
}
答案 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];
?>