public static string|string[]|null
filterValue
(mixed $string, mixed $type = 'html')
/**
* @param $string
* @param string $type html|url|number|number2|alphanumeric|alphanumeric2|alphanumeric3|folder|file|folderpath|filepath|text
* @return string|string[]|null
*/
public static function filterValue($string, $type = 'html')
{
switch ($type) {
case 'url':
return rawurlencode($string);
break;
case 'number':
return preg_replace('/[^.0-9]/', '', $string);
break;
case 'number2':
//return preg_replace( '/[^0-9\.,+-]/', '', $string );
return preg_replace('/[^0-9\\.,-]/', '', $string);
break;
case 'alphanumeric':
return preg_replace("/[^a-zA-Z0-9]+/", '', $string);
break;
case 'alphanumeric2':
return preg_replace("/[^\\w-]/", '', $string);
// Alphanumeric plus _ -
break;
case 'alphanumeric3':
return preg_replace("/[^\\w.-]/", '', $string);
// Alphanumeric plus _ . -
break;
case 'alphanumeric4':
return preg_replace("/[^\\w.,-]/", '', $string);
// Alphanumeric plus _ . , -
break;
case 'alphanumeric5':
return preg_replace("/[^\\w.,]/", '', $string);
// Alphanumeric plus _ . ,
break;
case 'folder':
case 'file':
$string = preg_replace('/[\\"\\*\\/\\\\:\\<\\>\\?\'\\|]+/', '', $string);
return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
break;
case 'folderpath':
case 'filepath':
$string = preg_replace('/[\\"\\*\\:\\<\\>\\?\'\\|]+/', '', $string);
return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
break;
case 'text':
return trim(htmlspecialchars(strip_tags($string), ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'));
break;
case 'html':
default:
return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
break;
}
}