Manual do PHP
Anterior |  | Próxima

# Apêndice M. Lista de Filtros Disponíveis

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 repara em 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, ele é imediatamente processado através de 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 é 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 dados 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().

Exemplo M-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().

Exemplo M-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().

Exemplo M-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.

Exemplo M-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 */ ?>`

Anterior | Principal | Próxima
Audio Streams | Acima | Fitros de Conversão