|
|
@@ -40,6 +40,7 @@ class V {
|
|
|
|
|
|
/**
|
|
|
* Convert variable type.
|
|
|
+ * @usage: V::convert($from, 'url');
|
|
|
*/
|
|
|
public static function convert($from, $type = 'string') {
|
|
|
$type = strtolower($type);
|
|
|
@@ -74,6 +75,17 @@ class V {
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
+ case 'url':// [a-zA-Z0-9_-]
|
|
|
+ if (is_scalar($from)) {
|
|
|
+ $ret = $from;
|
|
|
+ settype($ret, 'string');
|
|
|
+ $ret = trim($ret);
|
|
|
+ $pl_letters = array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż', 'Ą', 'Ć', 'Ę', 'Ł', 'Ń', 'Ó', 'Ś', 'Ź', 'Ż');
|
|
|
+ $en_letters = array('a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z', 'A', 'C', 'E', 'L', 'N', 'O', 'S', 'Z', 'Z');
|
|
|
+ $ret = str_replace($pl_letters, $en_letters, $ret);
|
|
|
+ $ret = preg_replace('/[^a-zA-Z0-9_-]+/', '_', $ret);
|
|
|
+ }
|
|
|
+ break;
|
|
|
case 'int':
|
|
|
case 'integer':
|
|
|
if (is_scalar($from)) {
|