Skip to content

Commit fbb4c5b

Browse files
committed
added methods translit and addSlashes
1 parent 63f9d52 commit fbb4c5b

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

StringHelper.php

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,56 @@ public static function truncateWords($string, $count, $suffix = '...')
131131

132132
return $string;
133133
}
134+
135+
/**
136+
* Get translit string
137+
* @param string $str
138+
* @param array $params iso key - array and lower key - boolean
139+
* @return string
140+
*/
141+
public static function translit($str, $params = array())
142+
{
143+
if(!$str) return $str;
144+
if(empty($params['iso'])) {
145+
$iso = array(
146+
"Є"=>"YE","І"=>"I","Ѓ"=>"G","і"=>"i",""=>"","є"=>"ye","ѓ"=>"g",
147+
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D",
148+
"Е"=>"E","Ё"=>"YO","Ж"=>"ZH",
149+
"З"=>"Z","И"=>"I","Й"=>"J","К"=>"K","Л"=>"L",
150+
"М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R",
151+
"С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"X",
152+
"Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SHH","Ъ"=>"'",
153+
"Ы"=>"Y","Ь"=>"","Э"=>"E","Ю"=>"YU","Я"=>"YA",
154+
"а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d",
155+
"е"=>"e","ё"=>"yo","ж"=>"zh",
156+
"з"=>"z","и"=>"i","й"=>"j","к"=>"k","л"=>"l",
157+
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
158+
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"x",
159+
"ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"shh","ъ"=>"",
160+
"ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya","«"=>"","»"=>"",""=>"-"
161+
);
162+
}
163+
if(!isset($params['lower'])) {
164+
$params['lower'] = true;
165+
}
166+
return $params['lower'] ? \strtolower(\strtr($str, $params['iso'])) : \strtr($str, $params['iso']);
167+
}
168+
169+
/**
170+
* Add slashes in string
171+
* @param string|string[] $str
172+
* @param array $params
173+
* @return string|string[]
174+
*/
175+
public static function addSlashes($str, $params = array())
176+
{
177+
if(!$str) return $str;
178+
if(!isset($params['search'])) {
179+
$params['search'] = array("\\", "\"", "'");
180+
}
181+
if(!isset($params['replace'])) {
182+
$params['replace'] = array("\\\\", '\\"', "\\'");
183+
}
184+
return \str_replace($params['search'], $params['replace'], $str);
185+
}
134186
}

0 commit comments

Comments
 (0)