This package provides a collection of filters for WordPress.
$ composer require --dev [--prefer-dist] inpsyde/filter
Each filter filters a value with a given configuration.
$filter = new Inpsyde\Filter\DateTime();
$value = $filter->filter( '21.06.1987' ); // converts to: 1987-06-21Some 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.1987Following basic filters are available:
ArrayValueDateTime
In addition, there are filters which are wrappers for well known WordPress-functions:
WordPress\AbsintWordPress\AutoPWordPress\EscHtmlWordPress\EscUrlRawWordPress\NormalizeWhitespaceWordPress\RemoveAccentsWordPress\SanitizeFileNameWordPress\SanitizeKeyWordPress\SanitizePostFieldWordPress\SanitizeTextFieldWordPress\SanitizeTitleWordPress\SanitizeTitleWithDashesWordPress\SanitizeUserWordPress\SpecialCharsWordPress\StripTagsWordPress\Unslash
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;
}
}// Optional: set "new value" to Filter.
$options = [ 'key' => 'new value' ];
$filter = new YourFilter( $options );
$value = $filter->filter( 'my value' );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\DateTimeThe 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.Please give us feedback, contribute and file technical bugs on GitHub Repo.
This repository is a free software, and is released under the terms of the GNU General Public License version 2 or (at your option) any later version. See LICENSE for complete license.
See commits or read short version.