- stripslashes: documentation ( source)
- function_exists: documentation ( source)
- var_export: documentation ( source)
- htmlspecialchars: documentation ( source)
- trim: documentation ( source)
- array_walk_recursive: documentation ( source)
<?php
class Sanitizer {
public function sanitizeSingle(&$string) {
if (function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
$string = trim(htmlspecialchars($string, ENT_QUOTES));
}
public function sanitize($data) {
if (is_array($data)) {
array_walk_recursive($data, [$this, 'sanitizeSingle']);
} else {
$this->sanitizeSingle($data);
}
return $data;
}
}
$array = ['one' => ['a ', ' b ', ' c'], 'two' => " <a href='test'>Test</a>"];
$string = ' another "test"';
$sanitizer = new Sanitizer();
var_export($sanitizer->sanitize($array));
echo "\n---\n";
var_export($sanitizer->sanitize($string));