Forum und email

Lista filtrelor disponibile

Cuprins

Urmează o listă a câtorva filtre de flux pentru a fi utilizate cu stream_filter_append(). Versiunea dumneavoastră a PHP poate avea mai multre filtre (sau mai puţine) decât cele listate aici.

Merită de a fi remarcată mica asimetrie dintre stream_filter_append() şi stream_filter_prepend(). Fiecare flux PHP conţine o mică zonă-tampon de citire unde el stochează blocuri de date recepţionate de la sistemul de fişiere sau alte resurse pentru a procesa datele în modul cel mai eficient. Imediat ce datele sunt extrase din resursă în zona-tampon internă a fluxului, ele sunt procesate prin orice filtru ataşat, indiferent dacă aplicaţia PHP este pregătită de a primi datele, sau nu. Dacă datele se află în zona-tampon de citire în timp ce sunt anexate la filtru, aceste date vor fi imediat procesate prin acel filtru, astfel încât faptul aflării lor în zona-tampon trece neobservat. Însă dacă datele se află în zona-tampon de citire în timp ce sunt prefixate la filtru, ele NU vor fi procesate prin acel filtru. În schimb se va aştepta momentul când următorul bloc de date va fi extras din resursă.

Pentru a vedea lista filtrelor instalate în versiunea dumneavoastră a PHP, folosiţi stream_get_filters().

Filtrele string-urilor

Fiecare dintre aceste filtre efectuează exact ceea ce indică denumirea lor şi corespund cu comportamentul unei funcţii de manipulare a stringurilor incorporate în PHP. Pentru mai multe informaţii despre un anumit filtru, referiţi-vă la pagina din manual pentru funcţia corespunzătoare.

string.rot13 (începând cu PHP 4.3.0) Folosirea acestui filtru este echivalentă cu procesarea tuturor datelor din flux prin funcţia 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");
/* Afişează:  Guvf vf n grfg.   */
?>

string.toupper (începând cu PHP 5.0.0) Folosirea acestui filtru este echivalentă cu procesarea tuturor datelor din flux prin funcţia strtoupper().

Example#2 string.toupper

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

string.tolower (începând cu PHP 5.0.0) Folosirea acestui filtru este echivalentă cu procesarea tuturor datelor din flux prin funcţia strtolower().

Example#3 string.tolower

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

string.strip_tags (începând cu PHP 5.0.0) Folosirea acestui filtru este echivalentă cu procesarea tuturor datelor din flux prin funcţia strip_tags(). El acceptă parametrii în unul din aceste două moduri: un string conţinând o listă de tag-uri, similar celui de-al doilea parametru al funcţiei strip_tags(), sau ca un masiv cu denumirile tag-urilor.

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);
/* Afişează:  <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);
/* Afişează:  <b>bolded text</b> enlarged to a level 1 heading   */
?>