public static function explodeDn($dn, $withAttributes = 1)
{
$pieces = ldap_explode_dn($dn, $withAttributes);
if ($pieces === false || !isset($pieces['count']) || $pieces['count'] == 0) {
throw new InvalidArgumentException(sprintf('Unable to parse DN "%s".', $dn));
}
for ($i = 0; $i < $pieces['count']; $i++) {
$pieces[$i] = self::unescapeValue($pieces[$i]);
}
unset($pieces['count']);
return $pieces;
}