Forum und email

Lista de Filtros Disponíveis

Índice

A seguir está uma lista de alguns filtros built-in de stream para o uso com stream_filter_append(). Sua versão de PHP pode ter mais filtros (ou menos) que os listados aqui.

Vale reparar que existe uma leve assimetria entre stream_filter_append() e stream_filter_prepend() Toda stream no PHP contem um pequeno buffer de leitura onde ele guarda blocos de dados recuperados do sistema de arquivo ou outro recurso (resource) com o propósito de processar dados da maneira mais eficiente. Assim que os dados são puxados do recurso para o buffer interno da stream, eles são processados imediatamente por qualquer filtro anexo caso a aplicação PHP esteja preparada ou não para receber os dados. Se os dados estão esperando no buffer de leitura quando o filtro for appended, esses dados serão imediatamente processados através daquele buffer, fazendo o fato de que eles estavam esperando num buffer transparente. No entanto, se os dados estão esperando no buffer de leitura quando um filtro é prepended, esses dados NÃO serão processados pelo filtro. Ao invés disso, eles esperarão até o próximo bloco de dados ser recuperado do recurso.

Para uma lista dos filtros instalados na sua versão do PHP use stream_get_filters().

Filtros de String

Cada um dos filtros faz precisamente o que o seu nome implica e corresponde ao comportamente da função de manuseio de string homônima. Para mais informação em um dado filtro, veja a página do manual para a função correspondente.

string.rot13 (since PHP 4.3.0) Uso desse filtro é equivalente a processar todos os dados da stream com a função str_rot13().

Example#1 string.rot13

<?php
$fp 
fopen('php://output''w');
stream_filter_append($fp'string.rot13');
fwrite($fp"This is a test.\n");
/* Outputs:  Guvf vf n grfg.   */
?>

string.toupper (since PHP 5.0.0) Uso desse filtro é equivalente a processar todos os dados da stream com a função strtoupper().

Example#2 string.toupper

<?php
$fp 
fopen('php://output''w');
stream_filter_append($fp'string.toupper');
fwrite($fp"This is a test.\n");
/* Outputs:  THIS IS A TEST.   */
?>

string.tolower (since PHP 5.0.0) Uso desse filtro é equivalente a processar todos os dados da stream com a função strtolower().

Example#3 string.tolower

<?php
$fp 
fopen('php://output''w');
stream_filter_append($fp'string.tolower');
fwrite($fp"This is a test.\n");
/* Outputs:  this is a test.   */
?>

string.strip_tags (since PHP 5.0.0) Uso desse filtro é equivalente a processar todos os dados da stream com a função strip_tags(). Ela aceita parâmetros em uma das duas formas: Ou como uma string contendo uma lista de tags similares ao segundo parâmetro da função strip_tags(), ou como um array dos nomes das tags.

Example#4 string.strip_tags

<?php
$fp 
fopen('php://output''w');
stream_filter_append($fp'string.strip_tags'STREAM_FILTER_WRITE"<b><i><u>");
fwrite($fp"<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */

$fp fopen('php://output''w');
stream_filter_append($fp'string.strip_tags'STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp"<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs:  <b>bolded text</b> enlarged to a level 1 heading   */
?>