Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

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 Filters 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 classe, 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.