@@ -131,4 +131,56 @@ public static function truncateWords($string, $count, $suffix = '...')
131
131
132
132
return $ string ;
133
133
}
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
+ }
134
186
}
0 commit comments