PHPackages                             petrknap/external-filter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. petrknap/external-filter

ActiveLibrary[Search &amp; Filtering](/categories/search)

petrknap/external-filter
========================

Library for easier work with external filters

v1.3.1(1y ago)069[1 PRs](https://github.com/petrknap/php-external-filter/pulls)1LGPL-3.0-or-laterPHPPHP &gt;=8.1

Since Nov 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/petrknap/php-external-filter)[ Packagist](https://packagist.org/packages/petrknap/external-filter)[ Docs](https://github.com/petrknap/php-external-filter)[ Fund](https://petrknap.github.io/donate.html)[ RSS](/packages/petrknap-external-filter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (7)Versions (7)Used By (1)

Library for easier work with external filters
=============================================

[](#library-for-easier-work-with-external-filters)

Encapsulation of a command along with its options which provides a filter method. Its primary role is to **facilitate filtering operations within a pipeline**, allowing for easy chaining and execution of executable filters.

```
use PetrKnap\ExternalFilter\Filter;

# echo "H4sIAAAAAAAAA0tJLEkEAGPz860EAAAA" | base64 --decode | gzip --decompress
echo Filter::new('base64', ['--decode'])
    ->pipe(Filter::new('gzip', ['--decompress']))
    ->filter('H4sIAAAAAAAAA0tJLEkEAGPz860EAAAA');
```

If you want to process external data, redirect output or get errors, you can use input, output or error streams.

```
use PetrKnap\ExternalFilter\Filter;

$errorStream = fopen('php://memory', 'w+');

Filter::new('php')->filter(
    '
