Руководство по 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);
/* Outputs: 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);
/* Outputs: VGhpcyBp
: cyBhIHRl
: c3QuCg== */
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* Outputs: This is a test. */
?>`

`convert.quoted-printable-encode` и `convert.quoted-printable-decode` Использование decode-версии этого фильтра эквивалентно обработке всех данных потока функцией quoted_printable_decode(). У фильтра `convert.quoted-printable-encode` нету эквивалентной функции. `convert.quoted-printable-encode` поддерживает аргументы, переданные в виде ассоциативного массива. В дополнение к аргументам, поддерживаемыми `convert.base64-encode`, `convert.quoted-printable-encode` также поддерживает boolean-аргументы `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"); /* Outputs: =This is a test.=0A */ ?>`

Пред. | Начало | След.
Список доступных фильтров | Уровень выше | Компрессионные фильтры