PHP マニュアル
前のページ | 付録 N. 利用できるフィルタのリスト | 次のページ

# 変換フィルタ

string.* フィルタと同様、convert.* フィルタもその名前と同じような 動作をします。変換フィルタは、PHP 5.0.0 で追加されました。 これらのフィルタについてのより詳しい情報は、対応する関数のマニュアルを 参照してください。

`convert.base64-encode` と `convert.base64-decode` このフィルタは、すべてのストリームデータに対してそれぞれ base64_encode() または base64_decode() 関数を適用するのと同じ動作をします。 `convert.base64-encode` は、パラメータを連想配列形式で 受け取ることができます。`line-length` が与えられた 場合、base64 出力は `line-length` 文字単位に 分割されます。分割されたデータは、`line-break-chars` で指定された文字列で区切って出力されます。 これらのパラメータは、base64_encode() を chunk_split() とともに利用した場合と同じ動作をします。

例 N-5. convert.base64-encode と convert.base64-decode

`<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "This is a test.\n");
fclose($fp);
/* 出力: VGhpcyBpcyBhIHRlc3QuCg== */
$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "This is a test.\n");
fclose($fp);
/* 出力: VGhpcyBp
: cyBhIHRl
: c3QuCg== */
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* 出力: This is a test. */
?>`

`convert.quoted-printable-encode` と `convert.quoted-printable-decode` これらのフィルタのうち、デコードフィルタはすべてのストリームデータに 対して quoted_printable_decode() 関数を適用するのと 同じ動作をします。 `convert.quoted-printable-encode` に対応する関数は存在しません。 `convert.quoted-printable-encode` は、パラメータを 連想配列形式で受け取ることができます。`convert.base64-encode` でサポートされているパラメータに加え、`convert.quoted-printable-encode` は `binary` と `force-encode-first` という２つの論理型パラメータをサポートしています。 `convert.base64-decode` は `line-break-chars` パラメータのみをサポートしており、 これは符号化されたデータを分割する際に用いられます。

例 N-6. convert.quoted-printable-encode と convert.quoted-printable-decode

`<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'convert.quoted-printable-encode'); fwrite($fp, "This is a test.\n"); /* 出力: =This is a test.=0A */ ?>`

前のページ | ホーム | 次のページ
利用できるフィルタのリスト | 上に戻る | 圧縮フィルタ