Sanitierer ist eine einfache und eigenständige PHP-Desinfektionsbibliothek ohne Abhängigkeiten.
Verwendet Composer, um zu installieren und zu aktualisieren:
composer require "truongwp/sanitizer=*"
Desinfektionsmittel erfordern Php> = 5.3
<?php
$ sanitizer = new Truongwp Sanitizer Sanitizer ();
$ input = array (
' name ' => ' Foo bar ' ,
' age ' => ' 24 ' ,
);
$ rules = array (
' name ' => ' trim|strtolower|ucwords ' ,
' age ' => ' intval ' ,
);
$ output = $ sanitizer -> sanitize ( $ input , $ rules ); Die $output :
array (
' name ' => ' Foo Bar ' ,
' age ' => 24 ,
); Mehrere Regeln können als String -Trennzeichen durch | übergeben werden oder verwenden Sie ein Array:
<?php
$ rules = array (
' name ' => array ( ' trim ' , ' strtolower ' , ' ucwords ' ),
' age ' => ' intval ' ,
);Standardmäßig ist der Regelname PHP -Funktion. Sie können also problemlos eine benutzerdefinierte Funktion hinzufügen, um zu sanieren.
<?php
function trim_slasses ( $ value ) {
return trim ( $ value , ' / ' );
}
$ sanitizer = new Truongwp Sanitizer Sanitizer ();
$ input = array (
' name ' => ' //foo ' ,
);
$ rules = array (
' name ' => ' trim_slasses ' ,
);
$ output = $ sanitizer -> sanitize ( $ input , $ rules );Das Ergebnis:
array (
' name ' => ' foo ' ,
) Wenn Sie zusätzliche Parameter an die Desinfektionsfunktion übergeben möchten, können Sie sie an den Regelnamen anhängen und abgegrenzt von : .
<?php
function prefix_suffix ( $ value , $ prefix = '' , $ suffix = '' ) {
return $ prefix . $ value . $ suffix ;
}
$ sanitizer = new Truongwp Sanitizer Sanitizer ();
$ input = array (
' name ' => ' foo ' ,
);
$ rules = array (
' name ' => ' prefix_suffix:prefix_:_suffix ' ,
);
$ output = $ sanitizer -> sanitize ( $ input , $ rules );Das Ergebnis:
array (
' name ' => ' prefix_foo_suffix ' ,
)Sie können auch mithilfe der Desinfektionsregistrierung eine benutzerdefinierte Desinfektionsklasse hinzufügen.
<?php
class DateFormatSanitizer implements Truongwp Sanitizer Contracts RuleSanitizer
{
/**
* Sanitize value.
*
* @param mixed $value Value need to sanitize.
* @return mixed
*/
public function sanitize ( $ value )
{
$ args = func_get_args ();
$ format = empty ( $ args [ 1 ]) ? ' Y-m-d ' : $ args [ 1 ];
$ timestamp = strtotime ( $ value );
return date ( $ format , $ timestamp );
}
}
// Register rule sanitizers.
Truongwp Sanitizer Registries SanitizerRegistry:: set ( ' date_format ' , new DateFormatSanitizer ());
$ sanitizer = new Truongwp Sanitizer Sanitizer ();
$ input = array (
' day ' => ' 05/30/2017 ' ,
);
$ rules = array (
' name ' => ' date_format:Y-m-d ' ,
);
$ output = $ sanitizer -> sanitize ( $ input , $ rules );Das Ergebnis:
array (
' day ' => ' 2017-05-30 ' ,
)Mitwirkender: @Truongwp
Fehlerberichte oder Pull -Anfragen sind willkommen.