ldap_escape

(PHP 5 >= 5.6.0)

ldap_escapeEscape a string for use in an LDAP filter or DN

Опис

string ldap_escape ( string $value [, string $ignore [, int $flags ]] )

Escapes value for use in the context implied by flags.

Параметри

value

The value to escape.

ignore

Characters to ignore when escaping.

flags

The context the escaped string will be used in: LDAP_ESCAPE_FILTER for filters to be used with ldap_search(), or LDAP_ESCAPE_DN for DNs.

Значення, що повертаються

Returns the escaped string.

add a note add a note

User Contributed Notes 2 notes

up
1
support at extollit dot com
4 years ago
Suppose you want to reverse the operation, here is a way to "ldap_unescape"

<?php

function ldap_unescape($string) {
    return
       
preg_replace_callback(
           
"/\\\\[\da-z]{2}/",
            function (
$matches) {
               
$match = array_shift($matches);
                return
hex2bin(substr($match, 1));
            },
           
$string
       
);
}

$result = ldap_unescape("uid=\\61\\6c\\70\\68\\6f\\6e\\7a\\6f,ou=people,dc=foo,dc=com"); // uid=alphonzo,ou=people,dc=foo,dc=com

?>
up
0
martin dot keckeis1 at gmail dot com
8 years ago
You can use it like this for filtering

<?php
$badSearchInput
= 'Domain\username';

$escapedSearchInput = ldap_escape($badSearchInput, null, LDAP_ESCAPE_FILTER);
?>
To Top