Manuel PHP
Précédent |  | Suivant

# Annexe M. Liste des filtres standards

Cette section contient la liste des filtres de flux, à utiliser avec stream_filter_append(). Votre version de PHP peut avoir des filtres supplémentaires, ou manquants par rapport à cette liste.

Il est bon de noter une légère différence entre stream_filter_append() et stream_filter_prepend(). Tous les flux PHP disposent d'un petit buffer de lecture, où ils stockent des blocs de données lues dans le système de fichiers, ou dans d'autres sources, afin de les traiter plus efficacement. Aussitôt que les données sont lues depuis la ressource dans le buffer interne, les données sont immédiatement passées au filtre, même si l'application PHP n'est pas prête pour lire ces données. Si des données sont déjà en attente dans le buffer lorsqu'un filtre est ajouté au flux, ces données seront immédiatement passées au filtre, pour que la modification soit transparente. Mais si vous ajoutez un filtre avec prepend, les données NE seront PAS filtrées. Elles attendront que le prochain bloc arrive de la ressource.

Pour avoir la liste complète des filtres de votre version de PHP, utilisez la fonction stream_get_filters().

# Filtres de chaînes de caractères

Chaque filtre fait ce que son nom implique, et correspond au comportement de la fonction PHP correspondante. Pour plus de détails sur un filtre, reportez vous au manuel de la fonction correspondante.

string.rot13 (depuis PHP 4.3.0) Utilisez ce filtre pour faire traiter les données par la fonction str_rot13().

Exemple M-1. Exemple avec le filtre string.rot13

`<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'string.rot13'); fwrite($fp, "Ceci est un test.\n"); /* affiche : Prpv rfg ha grfg. */ ?>`

string.toupper (depuis PHP 5.0.0) Utilisez ce filtre pour faire traiter les données par la fonction strtoupper().

Exemple M-2. Exemple avec le filtre string.toupper

`<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'string.toupper'); fwrite($fp, "Ceci est un test.\n"); /* affiche : CECI EST UN TEST. */ ?>`

string.tolower (depuis PHP 5.0.0) Utilisez ce filtre pour faire traiter les données par la fonction strtolower().

Exemple M-3. Exemple avec le filtre string.tolower

`<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'string.tolower'); fwrite($fp, "Ceci est un test.\n"); /* affiche : ceci est un test. */ ?>`

string.strip_tags (depuis PHP 5.0.0) Utilisez ce filtre pour faire traiter les données par la fonction strip_tags(). Le filtre accepte les paramètres sous deux formats : soit une chaîne contenant une liste de balises, similairement au second paramètre de la fonction strip_tags(); soit un tableau de noms de balises.

Exemple M-4. Exemple avec le filtre string.strip_tags

`<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<strong><em><span>");
fwrite($fp, "<strong>Ce texte en gras</strong> finit par être aggrandi <h1>en un titre 1</h1>\n");
fclose($fp);
/* affiche : <strong>Ce texte en gras</strong> finit par être aggrandi en un titre 1 */
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('strong','em','span'));
fwrite($fp, "<strong>Ce texte en gras</strong> finit par être aggrandi <h1>en un titre 1</h1>\n");
fclose($fp);
/* affiche : <strong>Ce texte en gras</strong> finit par être aggrandi en un titre 1 */
?>`

Précédent | Sommaire | Suivant
Flux compressés | Niveau supérieur | Filtres de conversion