public static function charWhitelist(string $input, string $whitelist = self::PRINTABLE_ASCII) : string
{
$output = '';
$length = self::stringLength($input);
for ($i = 0; $i < $length; ++$i) {
if (\strpos($whitelist, $input[$i]) !== false) {
$output .= $input[$i];
}
}
return $output;
}