Utility to format whole Input using provided rules
Install via composer into your project:
composer require anekdotes/formatter
To use the formatter, include its namespace through Composer, then call its namespace and provide it with an data input and a rule input.
Exemple :
use Anekdotes\Formatter\Formatter;
$input = ["formPhoneNumber" => "1234567890"];
$rules = ["formPhoneNumber" => ["phoneNumber"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["formPhoneNumber" => "(123) 456-7890"]
Here's a list of the usable rules :
Convert into a postal code following this format : A1A 1A1
use Anekdotes\Formatter\Formatter;
$input = ["form" => "j6z1b2"];
$rules = ["form" => ["postalCode"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["formPhoneNumber" => "J6Z 1B2"]
Convert into a phone number following the format 111, 111-1111 or (111) 111-1111
use Anekdotes\Formatter\Formatter;
$input = ["formPhoneNumber" => "1234567890"];
$rules = ["formPhoneNumber" => ["phoneNumber"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["form" => "(123) 456-7890"]
Cuts the characters following a float
use Anekdotes\Formatter\Formatter;
$input = ["form" => "122.2abc"];
$rules = ["form" => ["float"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["form" => "122.2"]
Cuts the character following an integer
use Anekdotes\Formatter\Formatter;
$input = ["form" => "122.2abc"];
$rules = ["form" => ["int"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["form" => 122]
use Anekdotes\Formatter\Formatter;
$input = ["form" => "122.2abc"];
$rules = ["form" => ["integer"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["form" => 122]
Append an http:// to a website.
use Anekdotes\Formatter\Formatter;
$input = ["form" => "www.anekdotes.com"];
$rules = ["form" => ["website"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["form" => "http://www.anekdotes.com"]
You can chain multiple rules to apply them on top of each other
use Anekdotes\Formatter\Formatter;
$input = ["formPhoneNumber" => "1234567890abcsefg"];
$rules = ["formPhoneNumber" => ["int", "phoneNumber"]];
$formattedOutput = Formatter::make($input, $rules);
// $formattedOutput is now ["form" => "(123) 456-7890"]