[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Joomla! Content Management System 5 * 6 * @copyright (C) 2010 Open Source Matters, Inc. <https://www.joomla.org> 7 * @license GNU General Public License version 2 or later; see LICENSE.txt 8 */ 9 10 namespace Joomla\CMS\Language; 11 12 // phpcs:disable PSR1.Files.SideEffects 13 \defined('JPATH_PLATFORM') or die; 14 // phpcs:enable PSR1.Files.SideEffects 15 16 /** 17 * Class to transliterate strings 18 * 19 * @since 1.7.0 20 * @note Port of phputf8's utf8_accents_to_ascii() 21 */ 22 class Transliterate 23 { 24 /** 25 * Returns strings transliterated from UTF-8 to Latin 26 * 27 * @param string $string String to transliterate 28 * @param integer $case Optionally specify upper or lower case. Default to null. 29 * 30 * @return string Transliterated string 31 * 32 * @since 1.7.0 33 */ 34 public static function utf8_latin_to_ascii($string, $case = 0) 35 { 36 static $UTF8_LOWER_ACCENTS = null; 37 static $UTF8_UPPER_ACCENTS = null; 38 39 if ($case <= 0) { 40 if (\is_null($UTF8_LOWER_ACCENTS)) { 41 $UTF8_LOWER_ACCENTS = array( 42 'à' => 'a', 43 'ô' => 'o', 44 'ď' => 'd', 45 'ḟ' => 'f', 46 'ë' => 'e', 47 'š' => 's', 48 'ơ' => 'o', 49 'ß' => 'ss', 50 'ă' => 'a', 51 'ř' => 'r', 52 'ț' => 't', 53 'ň' => 'n', 54 'ā' => 'a', 55 'ķ' => 'k', 56 'ŝ' => 's', 57 'ỳ' => 'y', 58 'ņ' => 'n', 59 'ĺ' => 'l', 60 'ħ' => 'h', 61 'ṗ' => 'p', 62 'ó' => 'o', 63 'ú' => 'u', 64 'ě' => 'e', 65 'é' => 'e', 66 'ç' => 'c', 67 'ẁ' => 'w', 68 'ċ' => 'c', 69 'õ' => 'o', 70 'ṡ' => 's', 71 'ø' => 'o', 72 'ģ' => 'g', 73 'ŧ' => 't', 74 'ș' => 's', 75 'ė' => 'e', 76 'ĉ' => 'c', 77 'ś' => 's', 78 'î' => 'i', 79 'ű' => 'u', 80 'ć' => 'c', 81 'ę' => 'e', 82 'ŵ' => 'w', 83 'ṫ' => 't', 84 'ū' => 'u', 85 'č' => 'c', 86 'ö' => 'oe', 87 'è' => 'e', 88 'ŷ' => 'y', 89 'ą' => 'a', 90 'ł' => 'l', 91 'ų' => 'u', 92 'ů' => 'u', 93 'ş' => 's', 94 'ğ' => 'g', 95 'ļ' => 'l', 96 'ƒ' => 'f', 97 'ž' => 'z', 98 'ẃ' => 'w', 99 'ḃ' => 'b', 100 'å' => 'a', 101 'ì' => 'i', 102 'ï' => 'i', 103 'ḋ' => 'd', 104 'ť' => 't', 105 'ŗ' => 'r', 106 'ä' => 'ae', 107 'í' => 'i', 108 'ŕ' => 'r', 109 'ê' => 'e', 110 'ü' => 'ue', 111 'ò' => 'o', 112 'ē' => 'e', 113 'ñ' => 'n', 114 'ń' => 'n', 115 'ĥ' => 'h', 116 'ĝ' => 'g', 117 'đ' => 'd', 118 'ĵ' => 'j', 119 'ÿ' => 'y', 120 'ũ' => 'u', 121 'ŭ' => 'u', 122 'ư' => 'u', 123 'ţ' => 't', 124 'ý' => 'y', 125 'ő' => 'o', 126 'â' => 'a', 127 'ľ' => 'l', 128 'ẅ' => 'w', 129 'ż' => 'z', 130 'ī' => 'i', 131 'ã' => 'a', 132 'ġ' => 'g', 133 'ṁ' => 'm', 134 'ō' => 'o', 135 'ĩ' => 'i', 136 'ù' => 'u', 137 'į' => 'i', 138 'ź' => 'z', 139 'á' => 'a', 140 'û' => 'u', 141 'þ' => 'th', 142 'ð' => 'dh', 143 'æ' => 'ae', 144 'µ' => 'u', 145 'ĕ' => 'e', 146 'œ' => 'oe', 147 ); 148 } 149 150 $string = str_replace(array_keys($UTF8_LOWER_ACCENTS), array_values($UTF8_LOWER_ACCENTS), $string); 151 } 152 153 if ($case >= 0) { 154 if (\is_null($UTF8_UPPER_ACCENTS)) { 155 $UTF8_UPPER_ACCENTS = array( 156 'À' => 'A', 157 'Ô' => 'O', 158 'Ď' => 'D', 159 'Ḟ' => 'F', 160 'Ë' => 'E', 161 'Š' => 'S', 162 'Ơ' => 'O', 163 'Ă' => 'A', 164 'Ř' => 'R', 165 'Ț' => 'T', 166 'Ň' => 'N', 167 'Ā' => 'A', 168 'Ķ' => 'K', 169 'Ŝ' => 'S', 170 'Ỳ' => 'Y', 171 'Ņ' => 'N', 172 'Ĺ' => 'L', 173 'Ħ' => 'H', 174 'Ṗ' => 'P', 175 'Ó' => 'O', 176 'Ú' => 'U', 177 'Ě' => 'E', 178 'É' => 'E', 179 'Ç' => 'C', 180 'Ẁ' => 'W', 181 'Ċ' => 'C', 182 'Õ' => 'O', 183 'Ṡ' => 'S', 184 'Ø' => 'O', 185 'Ģ' => 'G', 186 'Ŧ' => 'T', 187 'Ș' => 'S', 188 'Ė' => 'E', 189 'Ĉ' => 'C', 190 'Ś' => 'S', 191 'Î' => 'I', 192 'Ű' => 'U', 193 'Ć' => 'C', 194 'Ę' => 'E', 195 'Ŵ' => 'W', 196 'Ṫ' => 'T', 197 'Ū' => 'U', 198 'Č' => 'C', 199 'Ö' => 'Oe', 200 'È' => 'E', 201 'Ŷ' => 'Y', 202 'Ą' => 'A', 203 'Ł' => 'L', 204 'Ų' => 'U', 205 'Ů' => 'U', 206 'Ş' => 'S', 207 'Ğ' => 'G', 208 'Ļ' => 'L', 209 'Ƒ' => 'F', 210 'Ž' => 'Z', 211 'Ẃ' => 'W', 212 'Ḃ' => 'B', 213 'Å' => 'A', 214 'Ì' => 'I', 215 'Ï' => 'I', 216 'Ḋ' => 'D', 217 'Ť' => 'T', 218 'Ŗ' => 'R', 219 'Ä' => 'Ae', 220 'Í' => 'I', 221 'Ŕ' => 'R', 222 'Ê' => 'E', 223 'Ü' => 'Ue', 224 'Ò' => 'O', 225 'Ē' => 'E', 226 'Ñ' => 'N', 227 'Ń' => 'N', 228 'Ĥ' => 'H', 229 'Ĝ' => 'G', 230 'Đ' => 'D', 231 'Ĵ' => 'J', 232 'Ÿ' => 'Y', 233 'Ũ' => 'U', 234 'Ŭ' => 'U', 235 'Ư' => 'U', 236 'Ţ' => 'T', 237 'Ý' => 'Y', 238 'Ő' => 'O', 239 'Â' => 'A', 240 'Ľ' => 'L', 241 'Ẅ' => 'W', 242 'Ż' => 'Z', 243 'Ī' => 'I', 244 'Ã' => 'A', 245 'Ġ' => 'G', 246 'Ṁ' => 'M', 247 'Ō' => 'O', 248 'Ĩ' => 'I', 249 'Ù' => 'U', 250 'Į' => 'I', 251 'Ź' => 'Z', 252 'Á' => 'A', 253 'Û' => 'U', 254 'Þ' => 'Th', 255 'Ð' => 'Dh', 256 'Æ' => 'Ae', 257 'Ĕ' => 'E', 258 'Œ' => 'Oe', 259 ); 260 } 261 262 $string = str_replace(array_keys($UTF8_UPPER_ACCENTS), array_values($UTF8_UPPER_ACCENTS), $string); 263 } 264 265 return $string; 266 } 267 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |