Apéndice N. Lista de Filtros Disponibles

Tabla de contenidos
Filtros de Cadena
Filtros de Conversión
Filtros de Compresión
Filtros de Encripción

La siguiente es una lista de unos cuantos filtros de secuencia integrados que puede usar con stream_filter_append(). Su versión de PHP puede tener más (o menos) filtros de los que son listados aquí.

Vale la pena anotar una ligera asimetría entre stream_filter_append() y stream_filter_prepend(). Cada secuencia en PHP contiene un pequeño búfer de lectura en donde almacena los bloques de datos recibidos desde el sistema de archivos u otro recurso para procesar los datos de la forma más eficiente. Tan pronto como los datos son tomados del recurso y colocados en el búfer interno de la secuencia, éstos son procesados inmediatamente a través de cualquier filtro adjunto sin importar que la aplicación PHP esté lista para los datos o no. Si los datos están en el búfer de lectura cuando un filtro es añadido al final, los datos serán procesados inmediatamente a través del filtro haciendo parecer que el proceso fuera transparente. Sin embargo, si los datos están en el búfer de lectura cuando un filtro es adjuntado al comienzo, los datos NO serán procesados a través del filtro. En su lugar esperará a que el siguiente bloque de datos sea recuperado del recurso.

Para una lista de filtros instalados en su versión de PHP, use stream_get_filters().

Filtros de Cadena

Cada uno de estos filtros hace precisamente lo que sus nombres implican y corresponden al comportamiento de una función de manipulación de cadenas que hace parte de php. Para más información sobre un filtro dado, refiérase a la página del manual de la función correspondiente.

string.rot13 (a partir de PHP 4.3.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función str_rot13().

Ejemplo N-1. string.rot13

<?php
$da
= fopen('php://output', 'w');
stream_filter_append($da, 'string.rot13');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  Rfgb rf han cehron. */
?>

string.toupper (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strtoupper().

Ejemplo N-2. string.toupper

<?php
$da
= fopen('php://output', 'w');
stream_filter_append($da, 'string.toupper');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  ESTO ES UNA PRUEBA.   */
?>

string.tolower (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strtolower().

Ejemplo N-3. string.tolower

<?php
$da
= fopen('php://output', 'w');
stream_filter_append($da, 'string.tolower');
fwrite($da, "Esto es una prueba.\n");
/* Imprime:  esto es una prueba.   */
?>

string.strip_tags (a partir de PHP 5.0.0) El uso de este filtro es equivalente a procesar todos los datos de la secuencia a través de la función strip_tags(). Acepta parámetros en una de dos formas: Ya sea como una cadena que contiene una lista de etiquetas, similar al segundo parámetro de la función strip_tags(), o como una matriz de nombres de etiqueta.

Ejemplo N-4. string.strip_tags

<?php
$da
= fopen('php://output', 'w');
stream_filter_append($da, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($da, "<b>texto en negrilla</b> llevado a <h1>nivel de cabecera 1</h1>\n");
fclose($da);
/* Imprime:  <b>texto en negrilla</b> llevado a nivel de cabecera 1   */

$da = fopen('php://output', 'w');
stream_filter_append($da, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($da, "<b>texto en negrilla</b> llevado a <h1>nivel de cabecera 1</h1>\n");
fclose($da);
/* Imprime:  <b>texto en negrilla</b> llevado a nivel de cabecera 1   */
?>

Hosting by: hurra.com
Generated: 2007-01-26 18:00:54