Skip to content
This repository was archived by the owner on Aug 30, 2025. It is now read-only.

FernandoZueet/php-sanitize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FZ PHP SANITIZE

Sanitize php values.




Documentation




Requirements

  • PHP 7.3 or superior
  • Composer



Installation

Install this package with composer:

composer require fernandozueet/php-sanitize



Mode of use Array

use FzPhpSanitize\Sanitize;

//values array
$data = [
    'title'   => 'Test Test é 123',
    'content' => "<a href=''>teste</a> <b>OK</b>",
    'test'    => "value test",
    'date'    => "01/06/1987",
    'sub'     => [
        "sub1" => "  TEST  "
    ],
];

//rules sanitize
$rules = [
    'title'    => [Sanitize::strtolower(), Sanitize::alpha(true), Sanitize::strtoupper(), Sanitize::rtrim()],
    'content'  => [Sanitize::stripTags('<a>') ],
    'date'     => [Sanitize::date('Y-m-d')],
    'sub.sub1' => [Sanitize::strtolower(), Sanitize::trim()],
];

//sanitize values
$values = Sanitize::clear($data, $rules);

Output:

{
    "title": "TEST TEST",
    "content": "<a href=''>teste</a> OK",
    "teste": "value test",
    "date": "1987-06-01",
    "sub": {
        "sub1": "test"
    }
}



Mode of use Individual

use FzPhpSanitize\Sanitize;

//sanitize
$value = Sanitize::cpf()->clean('43740999055');

Output:

437.409.990-55



Mode of use Laravel

Laravel 5.8 or superior

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use FzPhpSanitize\Sanitize;

class ExampleRequest extends FormRequest
{

    /**
     * Prepare the data for validation.
     *
     * @return void
     */
    protected function prepareForValidation()
    {
        $rules = [
            'title'   => [Sanitize::strtolower(), Sanitize::alpha(true), Sanitize::strtoupper(), Sanitize::rtrim()],
            'content' => [Sanitize::stripTags('<a>') ],
        ];

        $this->merge(Sanitize::clear($this->input(), $rules));
    }

    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [];
    } 

}



Custom filter

1- Create class filter

MyFilter.php

<?php

namespace Filters\MyFilter; // <<<<<<<<<-- Your namespace here

use FzPhpSanitize\Contracts\Filter;
use FzPhpSanitize\Filters\Filters;

class MyFilter extends Filters implements Filter
{
  
    /**
     * Filter strip tags.
     * Strip HTML and PHP tags from a string.
     * 
     * @param string $value
     * @return string
     */
    public function clean($value)
    {  
       return is_string($value) ? strip_tags($value, $this->options[0] ?? null) : "";
    }
    
}

2- Create a function in another pho file to call the filter

MySanitizes.php

<?php

namespace YourNamespace; // <<<<<<<<<-- Your namespace here

use Filters\MyFilter;

class MySanitizes 
{
  
    /**
     * Filter strip_tags.
     * Strip HTML and PHP tags from a string.
     *
     * @param array|string $allowable_tags
     * @return MyFilter
     */
    public static function myFilter($allowable_tags = ""): MyFilter
    {
        return new MyFilter($allowable_tags);
    }
    
}

3- Use filter

use YourNamespace\MySanitizes;

//sanitize
$value = MySanitizes::myFilter("<a>")->clean("<a href='#'>Link</a> <h1>Hello world!</h1>");

Output:

<a href='#'>Link</a> Hello world!



Filters




striptags

Strip HTML and PHP tags from a string.

striptags(string $allowable_tags = "")

use FzPhpSanitize\Sanitize;

$value = Sanitize::striptags("<a>")->clean("<a href='#'>Link</a> <h1>Hello world!</h1>");

Output:

<a href='#'>Link</a> Hello world!



cnpj

Format the cnpj format number.

cnpj()

use FzPhpSanitize\Sanitize;

$value = Sanitize::cnpj()->clean("54465939000150");

Output:

54.465.939/0001-50



cpf

Format the cpf format number.

cpf()

use FzPhpSanitize\Sanitize;

$value = Sanitize::cpf()->clean("43740999055");

Output:

437.409.990-55



numeric

Numbers.

numeric()

use FzPhpSanitize\Sanitize;

$value = Sanitize::numeric()->clean("asdfg123456");

Output:

123456



alphanumeric

Letters from a to z and numbers.

alphanumeric(bool $spaces = false)

use FzPhpSanitize\Sanitize;

$value = Sanitize::alphanumeric()->clean("!@#asdfg123456");

$value2 = Sanitize::alphanumeric(true)->clean("!@#asdfg 123 456");

Output:

//value
asdfg123456

//value2
asdfg 123 456



alpha

Letters from a to z.

alpha(bool $spaces = false)

use FzPhpSanitize\Sanitize;

$value = Sanitize::alpha()->clean("123456asdfg*&(");

$value2 = Sanitize::alpha(true)->clean("123456asd dfg*&(");

Output:

//value
asdfg

//value2
asd dfg



url

filter_var FILTER_SANITIZE_URL

url()

use FzPhpSanitize\Sanitize;

$value = Sanitize::url()->clean("http://php.net/manual/en/function.htmlentities.phpçù");

Output:

http://php.net/manual/en/function.htmlentities.php



email

filter_var FILTER_SANITIZE_EMAIL

email()

use FzPhpSanitize\Sanitize;

$value = Sanitize::email()->clean("çótest@test.com");

Output:

test@test.com



strtolower

Make a string lowercase.

strtolower()

use FzPhpSanitize\Sanitize;

$value = Sanitize::strtolower()->clean("FERNANDO ZUEET");

Output:

fernando zueet



strtoupper

Make a string uppercase.

strtoupper()

use FzPhpSanitize\Sanitize;

$value = Sanitize::strtoupper()->clean("fernando zueet");

Output:

FERNANDO ZUEET



ucwords

Uppercase the first character of each word in a string.

ucwords(string $delimiters = " \t\r\n\f\v")

use FzPhpSanitize\Sanitize;

$value = Sanitize::ucwords()->clean("fernando zueet");

Output:

Fernando Zueet



ucfirst

Make a string's first character uppercase.

ucfirst()

use FzPhpSanitize\Sanitize;

$value = Sanitize::ucfirst()->clean("fernando zueet");

Output:

Fernando zueet



lcfirst

Make a string's first character lowercase.

lcfirst()

use FzPhpSanitize\Sanitize;

$value = Sanitize::lcfirst()->clean("Fernando zueet");

Output:

fernando zueet



rtrim

Removes blanks (or other characters) from the beginning of the string.

rtrim(string $charlist = " \t\n\r\0\x0B")

use FzPhpSanitize\Sanitize;

$value = Sanitize::rtrim()->clean("fernando zueet    ");

Output:

fernando zueet



ltrim

Removes blanks (or other characters) from the beginning of the string.

ltrim(string $charlist = " \t\n\r\0\x0B")

use FzPhpSanitize\Sanitize;

$value = Sanitize::ltrim()->clean("     fernando zueet");

Output:

fernando zueet



trim

Removing space at the beginning and end of a string.

trim(string $charlist = " \t\n\r\0\x0B")

use FzPhpSanitize\Sanitize;

$value = Sanitize::trim()->clean("     fernando zueet    ");

Output:

fernando zueet



date

Date format.

date(string $format = 'Y-m-d')

use FzPhpSanitize\Sanitize;

$value = Sanitize::date("Y-m-d")->clean("01/06/1987");

Output:

1987-06-01



type

Format a types.

type(string $type)

$type: string bool int float array object

use FzPhpSanitize\Sanitize;

$value = Sanitize::type('string')->clean(10);

$value2 = Sanitize::type('bool')->clean('true');

$value3 = Sanitize::type('int')->clean('1234');

$value4 = Sanitize::type('float')->clean('100,5');

Output:

//value
'10' 

//value2
true

//value3
1234

//value4
100.5



numberFormat

Format a number with grouped thousands.

numberFormat(int $decimals = 0, string $decimalpoint = '.', string $separator = ',')

use FzPhpSanitize\Sanitize;

$value = Sanitize::numberFormat(2, ',', '.')->clean("1000");

Output:

1.000,00



pregReplace

Perform a regular expression search and replace.

pregReplace($pattern, $replacement)

http://php.net/manual/en/function.preg-replace.php

use FzPhpSanitize\Sanitize;

$value = Sanitize::pregReplace('/[^A-Za-z]/', '')->clean("1234asdfg");

Output:

asdfg



filterVar

Filters a variable with a specified filter.

filterVar(int $filter = FILTER_DEFAULT, $options = null)

http://php.net/manual/en/function.filter-var.php

use FzPhpSanitize\Sanitize;

$value = Sanitize::filterVar(FILTER_SANITIZE_EMAIL)->clean("çótest@test.com");
test@test.com



Contributing

Please see CONTRIBUTING for details.

Security

If you discover security related issues, please email fernandozueet@hotmail.com instead of using the issue tracker.

Credits

License

The FZ Php Sanitize is licensed under the MIT license. See License File for more information.

About

Sanitize php values

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors