Документация PHP


Process Interaction Streams

Преобразовывающие фильтры

Appendices

PHP Manual


Список доступных фильтров

Содержание

Следующий список перечисляет несколько встроенных фильтров для использования с stream_filter_append(). Ваша версия PHP может включать больше (или меньше) фильтров, чем перечислено здесь.

Следует акцентировать внимание на определённой асимметричности функций stream_filter_append() и stream_filter_prepend(). Каждый поток в PHP имеет небольшой буфер чтения, в котором он хранит блоки данных, полученные из файловой системы или другого ресурса, для того чтобы обрабатывать данные наиболее эффективным образом. Как только данные переносятся из ресурса во внутренний буфер потока, они сразу же обрабатываются закреплёнными за потоком фильтрами, независимо от того, готово ли приложение PHP принимать данные или нет. Если данные находятся в буфере чтения в момент, когда в фильтр что-то дописывают в конец, данные будут немедленно обработаны этим фильтром, таким образом их нахождение в буфере будет прозрачным. В то же время, если данные находятся в буфере в момент, когда в фильтр что-то дописывают в начало, данные НЕ будут обработаны этим фильтром. Вместо этого, они будут ждать момента, когда следующий блок данных будет получен из ресурса.

Для получения списка фильтров, установленных в вашу версию PHP, используйте функцию stream_get_filters().

Строковые фильтры

Все эти фильтры служат для того самого, что подразумевают их имена в соответсвии с поведением встроенных в PHP функций для работы со строками. Для получения дополнительной информации о конкретном фильтре, обратитесь к странице руководства соответствующей функции.

string.rot13 (с версии PHP 4.3.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией str_rot13().

Пример #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 (с версии PHP 5.0.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией strtoupper().

Пример #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 (с версии PHP 5.0.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией strtolower().

Пример #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 (с версии PHP 5.0.0) Использование этого фильтра эквивалентно обработке всех данных потока функцией strip_tags(). Он принимает аргументы в одной из двух форм: Либо в виде строки со списком тегов, как и второй аргумент функции strip_tags(), либо массив названий тегов.

Пример #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   */
?>


Process Interaction Streams

Преобразовывающие фильтры

Appendices

PHP Manual

SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…

Linux Optimization

Размещена 30 июля 2012 года

Prelink

читать далее…