関数・クラス解説
imap_search
version:PHP 4, PHP 5, PHP 7 (公式)指定した検索条件にマッチするメッセージを配列として返す
公式リファレンス
書式
imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NULL ]] ) : array
説明
この関数は、指定した IMAP ストリームの現在オープンしているメールボックス において検索を行います。
例えば、Mom から送られた全ての未回答のメッセージにマッチさせるには、 "UNANSWERED FROM mom" を使用します。 検索は、大文字小文字が区別されずに行われます。 検索条件のリストは、UW c-client のソースコードからのものであり、 不完全または不正確である可能性があります (» RFC1176 の "tag SEARCH search_criteria" も参照ください)。
パラメータ
- imap_stream
- imap_open()が返す IMAP ストリーム。
- criteria
- 空白で区切られた文字列で、以下のキーワードが使用可能です。 複数の単語からなるキーワード(例 FROM "joey smith") は全て引用符で括る必要があります。 結果は、すべての criteria エントリにマッチすることになります。
- ALL - 他の検索条件にマッチする全メッセージを返す
- ANSWERED - \\ANSWERED フラグが設定されているメッセージにマッチ
- BCC "string" - Bcc: フィールドに "string" を有するメッセージにマッチ
- BEFORE "date" - "date" より前の Date: を有するメッセージにマッチ
- BODY "string" - メッセージ本体に "string" を有するメッセージにマッチ
- CC "string" - Cc: フィールドに "string" を有するメッセージにマッチ
- DELETED - 削除されたメッセージにマッチ
- FLAGGED - \\FLAGGED フラグ(重要または緊急を表すものとして 使用されることがあります)が設定されているメッセージにマッチ
- FROM "string" - From: フィールドに "string" を有するメッセージにマッチ
- KEYWORD "string" - キーワードとして "string" を有するメッセージにマッチ
- NEW - 新規メッセージにマッチ
- OLD - 古いメッセージにマッチ
- ON "date" - Date: が "date" であるメッセージにマッチ
- RECENT - \\RECENT フラグが設定されているメッセージにマッチ
- SEEN - 既読の(\\SEEN フラグが設定されている)メッセージにマッチ
- SINCE "date" - Date: が "date" 以降であるメッセージにマッチ
- SUBJECT "string" - Subject: に "string" を有するメッセージにマッチ
- TEXT "string" - テキスト "string" を有するメッセージにマッチ
- TO "string" - To: に "string" を有するメッセージにマッチ
- UNANSWERED - 未回答のメッセージにマッチ
- UNDELETED - 削除されていないメッセージにマッチ
- UNFLAGGED - フラグが設定されていないメッセージにマッチ
- UNKEYWORD "string" - キーワード "string" を有さないメッセージにマッチ
- UNSEEN - 未読のメッセージにマッチ
- options
- options に指定できる値は SE_UID です。これを指定すると、 メッセージ番号ではなく UID を含む配列を返します。
- charset
- 文字列の検索の際に使う MIME 文字セット。
返値
メッセージ番号あるいは UID の配列を返します。 検索条件 criteria を処理できなかった場合や 結果が見つからなかった場合は、FALSE を返します。
サンプル
例1 imap_search() の例
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids = imap_search($conn, 'ALL', SE_UID);
print_r($some);
print_r($msgnos);
print_r($uids);
上の例の出力は、たとえば以下のようになります。
Array
(
[0] => 4
[1] => 6
[2] => 11
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
Array
(
[0] => 1
[1] => 4
[2] => 6
[3] => 8
[4] => 11
[5] => 12
)
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール