问题替换LDAP默认属性

时间:2010-07-20 05:39:05

标签: php ldap

$entries = ldap_get_entries($ldapconn, $ldapsearch); // This is my result form ldap server
$format = "@sn, @givenname, E: @mail"; // This are new strings to replace ldap defualt attribures.

if ( $entries ) { // Check $entries are not empty.

    # Try to authenticate to each until we get a match
    for ( $i = 0 ;  $i < $entries['count']; $i++ ) {

        $result = $format;
        foreach ($entries[$i] as $key => $entrie) {
            echo $result."\n";
            $result = str_replace($result, '@'.$key, $entrie[0]);// This is the problem I'm having I try to replace the strings from $result but doesn't looks like it's working.
            //$cat = $entries[$i][$key][0];

            $contact_data[] = $result;

        }
        var_dump($result);
        die();
    }
}

print json_encode($contact_data);

1 个答案:

答案 0 :(得分:0)

查看str_replace的文档:

http://www.php3.de/str_replace

str_replace($ search,$ replace,$ subject)

示例:

$search = "@sn";
$replace = "Foobar";
$subject = "ABC @sn DEF";
echo str_replace  (   $search  ,   $replace  ,   $subject )

这将打印“ABC Foobar DEF”

所以看起来你必须修改str_replace函数的参数顺序。