(PHP 5 >= 5.6.0, PHP 7, PHP 8)
ldap_escape — LDAP フィルタまたは DN で使われる文字列をエスケープする
$value
, string $ignore
= "", int $flags
= 0): string
flags
で指示されたコンテキストで使う
value
をエスケープします。
value
エスケープする値
ignore
エスケープする際に無視する文字
flags
エスケープされた文字列が使われるコンテクスト:
LDAP_ESCAPE_FILTER
は、
ldap_search(), で使われるフィルタ。
LDAP_ESCAPE_DN
は DN の場合に使います。
フラグが渡されなかった場合、全ての文字がエスケープされます。
エスケープされた値を返します。
LDAP フィルタを組み立てる際、 LDAP_ESCAPE_FILTER を指定して ldap_escape を使うべきです。
例1 Eメールアドレスを検索する
<?php
// $ds is a valid link identifier for a directory server
// $mail is an email address provided by the user in a form
$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"]." entries returned\n";
?>