(PHP 5 >= 5.6.0, PHP 7)
ldap_escape — Экранирование строки для использования в фильтре LDAP или в DN
$value
[, string $ignore
= ""
[, int $flags
= 0
]] ) : string
Экранирует value
для использования в контексте заданном в
flags
.
value
Значение для экранирования.
ignore
Символы, которые необходимо игнорировать при экранировании.
flags
Контекст, для которого экранируется строка:
LDAP_ESCAPE_FILTER
для фильтров, используемых в
ldap_search() или
LDAP_ESCAPE_DN
для DN.
Если не переданы никакие флаги, то все символы будут экранированы.
возвращает экранированную строку.
При построении фильтра LDAP, вы должны использовать ldap_escape с флагом LDAP_ESCAPE_FILTER.
Пример #1 Поиск по email-адресу
<?php
// $ds - идентификатор сервера каталогов
// $mail - email-адрес, предоставленный пользователем
$base = "o=My Company, c=US";
$filter = "(mail=".ldap_escape($mail, "", LDAP_ESCAPE_FILTER).")";
$sr = ldap_search($ds, $base, $filter, array("sn", "givenname", "mail"));
$info = ldap_get_entries($ds, $sr);
echo $info["count"]." записей возвращено\n";
?>