public static function noTagsOrSpecial($value)
{
if (Inspekt::isArrayOrArrayObject($value)) {
return Inspekt::walkArray($value, 'noTagsOrSpecial');
} else {
if (Inspekt::useFilterExt()) {
$newval = filter_var($value, FILTER_SANITIZE_STRING);
$newval = filter_var($newval, FILTER_SANITIZE_SPECIAL_CHARS);
return $newval;
} else {
$newval = strip_tags($value);
// for sake of simplicity and safety we assume UTF-8
$newval = htmlspecialchars($newval, ENT_QUOTES, 'UTF-8');
/**
* convert low ascii chars to entities
*/
$newval = str_split($newval);
for ($i = 0; $i < count($newval); $i++) {
$ascii_code = ord($newval[$i]);
if ($ascii_code < 32) {
$newval[$i] = "&#{$ascii_code};";
}
}
$newval = implode($newval);
return $newval;
}
}
}