inpsyde / filter
Inpsyde Filter library.
Requires
- php: >=5.5.0
Requires (Dev)
- php: >=5.5.0
- brain/monkey: ~1.0
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.8|~5.1
This package is auto-updated.
Last update: 2023-11-27 23:48:28 UTC
README
This package provides a collection of filters for WordPress.
Contents
Installation
$ composer require --dev [--prefer-dist] inpsyde/filter
Usage
Each filter filters a value with a given configuration.
$filter = new Inpsyde\Filter\DateTime(); $value = $filter->filter( '21.06.1987' ); // converts to: 1987-06-21
Changing Options
Some filters are having additional options which can be overwritten in constructor.
$options = [ 'format' => 'd.m.Y' ]; $filter = new Inpsyde\Filter\DateTime( $options ); $value = $filter->filter( '1987-06-21' ); // 21.06.1987
Available Filters
Following basic filters are available:
ArrayValue
DateTime
In addition, there are filters which are wrappers for well known WordPress-functions:
WordPress\Absint
WordPress\AutoP
WordPress\EscHtml
WordPress\EscUrlRaw
WordPress\NormalizeWhitespace
WordPress\RemoveAccents
WordPress\SanitizeFileName
WordPress\SanitizeKey
WordPress\SanitizePostField
WordPress\SanitizeTextField
WordPress\SanitizeTitle
WordPress\SanitizeTitleWithDashes
WordPress\SanitizeUser
WordPress\SpecialChars
WordPress\StripTags
WordPress\Unslash
Create your own Filter
File My\Own\Filter\YourFilter.php
namespace My\Own\Filter; use Inpsyde\Filter\AbstractFilter; class YourFilter extends AbstractFilter { /** * Optional: set some options, which can be overwritten by constructor. * @var array */ protected $options = [ 'key' => 'value' ]; /** * {@inheritdoc} */ public function filter( $value ) { // do something return $value; } }
Usage
// Optional: set "new value" to Filter. $options = [ 'key' => 'new value' ]; $filter = new YourFilter( $options ); $value = $filter->filter( 'my value' );
Factory
The library comes with a FilterFactory
which allows you to create instances of new filters.
$factory = new \Inpsyde\Filter\FilterFactory(); $filter = $factory->create( 'DateTime' ); // returns instance of \Inpsyde\Filter\DateTime
The factory is also able to create instances of external classes, if they implement the \Inpsyde\Filter\FilterInterface
:
$factory = new \Inpsyde\Filter\FilterFactory(); $filter = $factory->create( My\Own\Filter\YourFilter::class ); // Creates an instance of your own filter.
Other Notes
Crafted by Inpsyde
The team at Inpsyde is engineering the Web since 2006.
Bugs, technical hints or contribute
Please give us feedback, contribute and file technical bugs on GitHub Repo.
License
Good news, this plugin is free for everyone! Since it's released under the GPLv2+, you can use it free of charge on your personal or commercial blog.
Changelog
See commits or read short version.