filters-php-convert-7

  • List of Available Filters
  • Conversion Filters

  • Conversion Filters
  • Conversion Filters

    Conversion Filters

    Like the string.* filters, the convert.* filters
    perform actions similar to their names. The convert filters were
    added with PHP 5.0.0. For more information on a given filter, refer
    to the manual page for the corresponding function.

    convert.base64-encode and
    convert.base64-decode Use of these filters are equivalent
    to processing all stream data through the base64_encode() and base64_decode() functions respectively.
    convert.base64-encode supports parameters given as an
    associative array. If line-length is
    given, the base64 output will be split into chunks of line-length characters each. If line-break-chars is given, each chunk will be
    delimited by the characters given. These parameters give the same
    effect as using base64_encode() with chunk_split().

    Example #1 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 and
    convert.quoted-printable-decode Use of the decode version
    of this filter is equivalent to processing all stream data through
    the quoted_printable_decode() functions. There is
    no function equivalent to convert.quoted-printable-encode.
    convert.quoted-printable-encode supports parameters given
    as an associative array. In addition to the parameters supported by
    convert.base64-encode,
    convert.quoted-printable-encode also supports boolean
    arguments binary and force-encode-first.
    convert.base64-decode only supports the line-break-chars parameter as a type-hint for
    stripping from the encoded payload.

    Example #2 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  */
    ?>

    The convert.iconv.* filters are
    available, if iconv
    support is enabled, and their use is equivalent to processing all
    stream data with iconv(). These
    filters do not support parameters, but instead expect the input and
    output encodings to be given as part of the filter name, i.e.
    either as
    convert.iconv.<input-encoding>.<output-encoding>
    or
    convert.iconv.<input-encoding>/<output-encoding>
    (both notations are semantically equivalent).

    Example #3 convert.iconv.*

    <?php
    $fp 
    fopen('php://output''w');
    stream_filter_append($fp'convert.iconv.utf-16le.utf-8');
    fwrite($fp"T\0h\0i\0s\0 \0i\0s\0 \0a\0 \0t\0e\0s\0t\0.\0\n\0");
    fclose($fp);
    /* Outputs: This is a test. */
    ?>