ldap_escape

LDAP フィルタまたは DN で使われる文字列をエスケープする

説明

string ldap_escape(string $value, string $ignore = "", int $flags = 0)

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 LDAP\Connection instance 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";
?>