Разрешение на - в названии файла
This commit is contained in:
parent
6173eb4892
commit
958033a057
3 changed files with 75 additions and 76 deletions
|
|
@ -4,53 +4,53 @@ class Tools_String {
|
||||||
|
|
||||||
// from creole
|
// from creole
|
||||||
static function strToArray($str) {
|
static function strToArray($str) {
|
||||||
$str = substr($str, 1, -1); // remove { }
|
$str = substr($str, 1, -1); // remove { }
|
||||||
$res = array();
|
$res = array();
|
||||||
|
|
||||||
$subarr = array();
|
$subarr = array();
|
||||||
$in_subarr = 0;
|
$in_subarr = 0;
|
||||||
|
|
||||||
$toks = explode(',', $str);
|
$toks = explode(',', $str);
|
||||||
foreach($toks as $tok) {
|
foreach($toks as $tok) {
|
||||||
if ($in_subarr > 0) { // already in sub-array?
|
if ($in_subarr > 0) { // already in sub-array?
|
||||||
$subarr[$in_subarr][] = $tok;
|
$subarr[$in_subarr][] = $tok;
|
||||||
if ('}' === substr($tok, -1, 1)) { // check to see if we just added last component
|
if ('}' === substr($tok, -1, 1)) { // check to see if we just added last component
|
||||||
$res[] = static::strToArray(implode(',', $subarr[$in_subarr]));
|
$res[] = static::strToArray(implode(',', $subarr[$in_subarr]));
|
||||||
$in_subarr--;
|
$in_subarr--;
|
||||||
}
|
}
|
||||||
} elseif ($tok[0] === '{') { // we're inside a new sub-array
|
} elseif ($tok[0] === '{') { // we're inside a new sub-array
|
||||||
if ('}' !== substr($tok, -1, 1)) {
|
if ('}' !== substr($tok, -1, 1)) {
|
||||||
$in_subarr++;
|
$in_subarr++;
|
||||||
// if sub-array has more than one element
|
// if sub-array has more than one element
|
||||||
$subarr[$in_subarr] = array();
|
$subarr[$in_subarr] = array();
|
||||||
$subarr[$in_subarr][] = $tok;
|
$subarr[$in_subarr][] = $tok;
|
||||||
} else {
|
} else {
|
||||||
$res[] = static::strToArray($tok);
|
$res[] = static::strToArray($tok);
|
||||||
}
|
}
|
||||||
} else { // not sub-array
|
} else { // not sub-array
|
||||||
$val = trim($tok, '"'); // remove " (surrounding strings)
|
$val = trim($tok, '"'); // remove " (surrounding strings)
|
||||||
// perform type castng here?
|
// perform type castng here?
|
||||||
$res[] = $val;
|
$res[] = $val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Нормализация строк на русском
|
//Нормализация строк на русском
|
||||||
static function normalizeRussian($str) {
|
static function normalizeRussian($str) {
|
||||||
$result = preg_replace('/\s+/',' ', $str);
|
$result = preg_replace('/\s+/',' ', $str);
|
||||||
if (is_string($result)) {
|
if (is_string($result)) {
|
||||||
$result = trim($result); //Замена длинных пробелов на одинарные, пробелы по краям
|
$result = trim($result); //Замена длинных пробелов на одинарные, пробелы по краям
|
||||||
$result = mb_strtolower($result);
|
$result = mb_strtolower($result);
|
||||||
$result = preg_replace('/ё/','е', $str); //е на ё
|
$result = preg_replace('/ё/','е', $str); //е на ё
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Проверка равенства двух строк на русском языке.
|
//Проверка равенства двух строк на русском языке.
|
||||||
static function equalRussianCheck($str1,$str2) {
|
static function equalRussianCheck($str1,$str2) {
|
||||||
return self::normalizeRussian($str1) == self::normalizeRussian($str2);
|
return self::normalizeRussian($str1) == self::normalizeRussian($str2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -79,7 +79,7 @@ class Tools_String {
|
||||||
}
|
}
|
||||||
|
|
||||||
static function encodestring($st) {
|
static function encodestring($st) {
|
||||||
$st = self::mb_strtr($st,"абвгдеёзийклмнопрстуфхъыэ !+-()", "abvgdeeziyklmnoprstufh_ie______");
|
$st = self::mb_strtr($st,"абвгдеёзийклмнопрстуфхъыэ !+()", "abvgdeeziyklmnoprstufh_ie_____");
|
||||||
$st = self::mb_strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ", "ABVGDEEZIYKLMNOPRSTUFH_IE");
|
$st = self::mb_strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ", "ABVGDEEZIYKLMNOPRSTUFH_IE");
|
||||||
$st = strtr($st, array(
|
$st = strtr($st, array(
|
||||||
" " => '_',
|
" " => '_',
|
||||||
|
|
@ -94,7 +94,7 @@ class Tools_String {
|
||||||
"#" => '_',
|
"#" => '_',
|
||||||
"*" => '_',
|
"*" => '_',
|
||||||
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
|
"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
|
||||||
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
|
"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
|
||||||
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
|
"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH",
|
||||||
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
|
"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
|
||||||
"Й"=>"i", "й"=>"ie", "ё"=>"Ye",
|
"Й"=>"i", "й"=>"ie", "ё"=>"Ye",
|
||||||
|
|
|
||||||
|
|
@ -201,4 +201,3 @@ class Tools_TemplateImage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue