public static function urlencode($value)
{
$value = str_replace(array(' ', ' ', '\\', '\'', '|', '`', '^', '"', ')', '(', '}', '{', ']', '[', ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '%', '<', '>', '#', '!'), '_', $value);
$value = preg_replace('/\\_{2,}/', '_', $value);
$value = preg_replace('/(^_|_$)/', '', $value);
return urlencode($value);
}