function dn_unescape($dn) { if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs); if (is_array($dn)) { $a = array(); foreach ($dn as $key => $rdn) $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', 'convertHexStringToCharCallback', $rdn); return $a; } else { return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', 'convertHexStringToCharCallback', $dn); } } /** * Converts a hex encoded string like \12 to the corresponding character. * * @param array $hex preg_replace_callback: matching hex string array * @return String character */ function convertHexStringToCharCallback($hex) { return chr(hexdec($hex[1])); }