Umwandlungsfilter
PHP Manual
PHP Manual»Liste verfügarer Filter»Umwandlungsfilter

Wie die string.*-Filter führen auch die convert.*-Filter Aktionen aus, die ihren Namen entsprechen. Weitere Informationen zu einem bestimmten Filter sind auf der Handbuchseite für die entsprechende Funktion zu finden.

Die Verwendung dieser Filter entspricht der Verarbeitung aller Stream-Daten mit den Funktionen base64_encode() und base64_decode(). convert.base64-encode unterstützt Parameter, die als assoziatives Array übergeben werden. Wenn der Parameter line-length angegeben wird, wird die base64-Ausgabe in Abschnitte von line-length Zeichen aufgeteilt. Wenn der Parameter line-break-chars angegeben wird, werden die einzelnen Teilstücke durch die angegebenen Zeichen getrennt. Diese Parameter haben die gleiche Wirkung wie die Verwendung von base64_encode() in Verbindung mit chunk_split().

Beispiel #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);
/* Ausgabe:  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);
/* Ausgabe:  VGhpcyBp
          :  cyBhIHRl
          :  c3QuCg==  */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* Ausgabe:  This is a test.  */
?>

Die Verwendung der Decode-Version dieses Filters entspricht der Verarbeitung aller Stream-Daten mit der Funktion quoted_printable_decode(). Es gibt keine Funktion, die convert.quoted-printable-encode entspricht. convert.quoted-printable-encode unterstützt Parameter, die als assoziatives Array übergeben werden. Zusätzlich zu den Parametern, die von convert.base64-encode unterstützt werden, unterstützt convert.quoted-printable-encode auch die booleschen Parameter binary und force-encode-first. convert.base64-decode unterstützt nur den Parameter line-break-chars, der für die Zeilentrennung der kodierten Daten verwendet wird.

Beispiel #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");
/* Ausgabe:  =This is a test.=0A  */
?>

Die convert.iconv.*-Filter sind verfügbar, wenn die iconv-Unterstützung aktiviert ist. Die Verwendung dieser Filter entspricht der Verarbeitung aller Stream-Daten mit der Funktion iconv(). Diese Filter unterstützen keine Parameter, sondern erwarten stattdessen, dass die Eingabe- und Ausgabekodierungen als Teil des Filternamens angegeben werden, d. h. entweder als convert.iconv.<input-encoding>.<output-encoding> oder als convert.iconv.<input-encoding>/<output-encoding> (beide Schreibweisen sind semantisch äquivalent).

Beispiel #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);
/* Ausgabe: This is a test. */
?>
To Top