瀏覽代碼

added V::convert to url safe string

Piotr Labudda 9 年之前
父節點
當前提交
026cd5c3d2
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      SE/se-lib/V.php

+ 12 - 0
SE/se-lib/V.php

@@ -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)) {