22 require_once __DIR__ .
'/Benchmarker.php';
31 parent::__construct();
33 $this->
addOption(
'method',
'One of "validateEmail", "encodeAttribute", '
34 .
'"safeEncodeAttribute", "removeHTMLtags", or "stripAllTags". '
35 .
'Default: (All)',
false,
true );
39 $textWithHtmlSm =
'Before <wrap><in>and</in> another <unclose> <in>word</in></wrap>.';
40 $textWithHtmlLg = str_repeat(
49 if ( !$method || $method ===
'validateEmail' ) {
50 $benches[
'Sanitizer::validateEmail (valid)'] =
function () {
51 Sanitizer::validateEmail(
'user@example.org' );
53 $benches[
'Sanitizer::validateEmail (invalid)'] =
function () {
54 Sanitizer::validateEmail(
'username@example! org' );
57 if ( !$method || $method ===
'encodeAttribute' ) {
58 $benches[
'Sanitizer::encodeAttribute (simple)'] =
function () {
59 Sanitizer::encodeAttribute(
'simple' );
61 $benches[
'Sanitizer::encodeAttribute (special)'] =
function () {
62 Sanitizer::encodeAttribute(
":'\"\n https://example" );
65 if ( !$method || $method ===
'safeEncodeAttribute' ) {
66 $benches[
'Sanitizer::safeEncodeAttribute (simple)'] =
function () {
67 Sanitizer::safeEncodeAttribute(
'simple' );
69 $benches[
'Sanitizer::safeEncodeAttribute (special)'] =
function () {
70 Sanitizer::safeEncodeAttribute(
":'\"\n https://example" );
73 if ( !$method || $method ===
'removeHTMLtags' ) {
74 $sm = strlen( $textWithHtmlSm );
75 $lg = round( strlen( $textWithHtmlLg ) / 1000 ) .
'K';
76 $benches[
"Sanitizer::removeHTMLtags (input: $sm)"] =
function () use ( $textWithHtmlSm ) {
77 Sanitizer::removeHTMLtags( $textWithHtmlSm );
79 $benches[
"Sanitizer::removeHTMLtags (input: $lg)"] =
function () use ( $textWithHtmlLg ) {
80 Sanitizer::removeHTMLtags( $textWithHtmlLg );
83 if ( !$method || $method ===
'stripAllTags' ) {
84 $sm = strlen( $textWithHtmlSm );
85 $lg = round( strlen( $textWithHtmlLg ) / 1000 ) .
'K';
86 $benches[
"Sanitizer::stripAllTags (input: $sm)"] =
function () use ( $textWithHtmlSm ) {
87 Sanitizer::stripAllTags( $textWithHtmlSm );
89 $benches[
"Sanitizer::stripAllTags (input: $lg)"] =
function () use ( $textWithHtmlLg ) {
90 Sanitizer::stripAllTags( $textWithHtmlLg );
94 $this->
bench( $benches );