Skip to content

inpsyde/filter

Inpsyde Filters Latest Stable Version Project Status Build Status License

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

Bugs, technical hints or contribute

Please give us feedback, contribute and file technical bugs on GitHub Repo.

License

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.

Changelog

See commits or read short version.

About

Inpsyde Filter library.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages