inpsyde/filter

Inpsyde Filter library.

1.1.0 2017-10-13 09:47 UTC

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.