ar_EG
1 year ago
ar_JO
1 year ago
ar_SA
1 year ago
at_AT
1 year ago
bg_BG
1 year ago
bn_BD
1 year ago
cs_CZ
1 year ago
da_DK
1 year ago
de_AT
1 year ago
de_CH
1 year ago
de_DE
1 year ago
el_CY
1 year ago
el_GR
1 year ago
en_AU
1 year ago
en_CA
1 year ago
en_GB
1 year ago
en_HK
1 year ago
en_IN
1 year ago
en_NG
1 year ago
en_NZ
1 year ago
en_PH
1 year ago
en_SG
1 year ago
en_UG
1 year ago
en_US
1 year ago
en_ZA
1 year ago
es_AR
1 year ago
es_ES
1 year ago
es_PE
1 year ago
es_VE
1 year ago
et_EE
1 year ago
fa_IR
1 year ago
fi_FI
1 year ago
fr_BE
1 year ago
fr_CA
1 year ago
fr_CH
1 year ago
fr_FR
1 year ago
he_IL
1 year ago
hr_HR
1 year ago
hu_HU
1 year ago
hy_AM
1 year ago
id_ID
1 year ago
is_IS
1 year ago
it_CH
1 year ago
it_IT
1 year ago
ja_JP
1 year ago
ka_GE
1 year ago
kk_KZ
1 year ago
ko_KR
1 year ago
lt_LT
1 year ago
lv_LV
1 year ago
me_ME
1 year ago
mn_MN
1 year ago
ms_MY
1 year ago
nb_NO
1 year ago
ne_NP
1 year ago
nl_BE
1 year ago
nl_NL
1 year ago
pl_PL
1 year ago
pt_BR
1 year ago
pt_PT
1 year ago
ro_MD
1 year ago
ro_RO
1 year ago
ru_RU
1 year ago
sk_SK
1 year ago
sl_SI
1 year ago
sr_Cyrl_RS
1 year ago
sr_Latn_RS
1 year ago
sr_RS
1 year ago
sv_SE
1 year ago
th_TH
1 year ago
tr_TR
1 year ago
uk_UA
1 year ago
vi_VN
1 year ago
zh_CN
1 year ago
zh_TW
1 year ago
Address.php
1 year ago
Barcode.php
1 year ago
Base.php
1 year ago
Biased.php
1 year ago
Color.php
1 year ago
Company.php
1 year ago
DateTime.php
1 year ago
File.php
1 year ago
HtmlLorem.php
1 year ago
Image.php
1 year ago
Internet.php
1 year ago
Lorem.php
1 year ago
Medical.php
1 year ago
Miscellaneous.php
1 year ago
Payment.php
1 year ago
Person.php
1 year ago
PhoneNumber.php
1 year ago
Text.php
1 year ago
UserAgent.php
1 year ago
Uuid.php
1 year ago
Internet.php
423 lines
| 1 | <?php |
| 2 | /** |
| 3 | * @license MIT |
| 4 | * |
| 5 | * Modified by impress-org on 07-August-2024 using Strauss. |
| 6 | * @see https://github.com/BrianHenryIE/strauss |
| 7 | */ |
| 8 | |
| 9 | namespace Give\Vendors\Faker\Provider; |
| 10 | |
| 11 | class Internet extends Base |
| 12 | { |
| 13 | protected static $freeEmailDomain = ['gmail.com', 'yahoo.com', 'hotmail.com']; |
| 14 | protected static $tld = ['com', 'com', 'com', 'com', 'com', 'com', 'biz', 'info', 'net', 'org']; |
| 15 | |
| 16 | protected static $userNameFormats = [ |
| 17 | '{{lastName}}.{{firstName}}', |
| 18 | '{{firstName}}.{{lastName}}', |
| 19 | '{{firstName}}##', |
| 20 | '?{{lastName}}', |
| 21 | ]; |
| 22 | protected static $emailFormats = [ |
| 23 | '{{userName}}@{{domainName}}', |
| 24 | '{{userName}}@{{freeEmailDomain}}', |
| 25 | ]; |
| 26 | protected static $urlFormats = [ |
| 27 | 'http://www.{{domainName}}/', |
| 28 | 'http://{{domainName}}/', |
| 29 | 'http://www.{{domainName}}/{{slug}}', |
| 30 | 'http://www.{{domainName}}/{{slug}}', |
| 31 | 'https://www.{{domainName}}/{{slug}}', |
| 32 | 'http://www.{{domainName}}/{{slug}}.html', |
| 33 | 'http://{{domainName}}/{{slug}}', |
| 34 | 'http://{{domainName}}/{{slug}}', |
| 35 | 'http://{{domainName}}/{{slug}}.html', |
| 36 | 'https://{{domainName}}/{{slug}}.html', |
| 37 | ]; |
| 38 | |
| 39 | /** |
| 40 | * @see https://tools.ietf.org/html/rfc1918#section-3 |
| 41 | */ |
| 42 | protected static $localIpBlocks = [ |
| 43 | ['10.0.0.0', '10.255.255.255'], |
| 44 | ['172.16.0.0', '172.31.255.255'], |
| 45 | ['192.168.0.0', '192.168.255.255'], |
| 46 | ]; |
| 47 | |
| 48 | /** |
| 49 | * @example 'jdoe@acme.biz' |
| 50 | * |
| 51 | * @return string |
| 52 | */ |
| 53 | public function email() |
| 54 | { |
| 55 | $format = static::randomElement(static::$emailFormats); |
| 56 | |
| 57 | return $this->generator->parse($format); |
| 58 | } |
| 59 | |
| 60 | /** |
| 61 | * @example 'jdoe@example.com' |
| 62 | * |
| 63 | * @return string |
| 64 | */ |
| 65 | final public function safeEmail() |
| 66 | { |
| 67 | return preg_replace('/\s/u', '', $this->userName() . '@' . static::safeEmailDomain()); |
| 68 | } |
| 69 | |
| 70 | /** |
| 71 | * @example 'jdoe@gmail.com' |
| 72 | * |
| 73 | * @return string |
| 74 | */ |
| 75 | public function freeEmail() |
| 76 | { |
| 77 | return preg_replace('/\s/u', '', $this->userName() . '@' . static::freeEmailDomain()); |
| 78 | } |
| 79 | |
| 80 | /** |
| 81 | * @example 'jdoe@dawson.com' |
| 82 | * |
| 83 | * @return string |
| 84 | */ |
| 85 | public function companyEmail() |
| 86 | { |
| 87 | return preg_replace('/\s/u', '', $this->userName() . '@' . $this->domainName()); |
| 88 | } |
| 89 | |
| 90 | /** |
| 91 | * @example 'gmail.com' |
| 92 | * |
| 93 | * @return string |
| 94 | */ |
| 95 | public static function freeEmailDomain() |
| 96 | { |
| 97 | return static::randomElement(static::$freeEmailDomain); |
| 98 | } |
| 99 | |
| 100 | /** |
| 101 | * @example 'example.org' |
| 102 | * |
| 103 | * @return string |
| 104 | */ |
| 105 | final public static function safeEmailDomain() |
| 106 | { |
| 107 | $domains = [ |
| 108 | 'example.com', |
| 109 | 'example.org', |
| 110 | 'example.net', |
| 111 | ]; |
| 112 | |
| 113 | return static::randomElement($domains); |
| 114 | } |
| 115 | |
| 116 | /** |
| 117 | * @example 'jdoe' |
| 118 | * |
| 119 | * @return string |
| 120 | */ |
| 121 | public function userName() |
| 122 | { |
| 123 | $format = static::randomElement(static::$userNameFormats); |
| 124 | $username = static::bothify($this->generator->parse($format)); |
| 125 | |
| 126 | $username = strtolower(static::transliterate($username)); |
| 127 | |
| 128 | // check if transliterate() didn't support the language and removed all letters |
| 129 | if (trim($username, '._') === '') { |
| 130 | throw new \Exception('userName failed with the selected locale. Try a different locale or activate the "intl" PHP extension.'); |
| 131 | } |
| 132 | |
| 133 | // clean possible trailing dots from first/last names |
| 134 | $username = str_replace('..', '.', $username); |
| 135 | $username = rtrim($username, '.'); |
| 136 | |
| 137 | return $username; |
| 138 | } |
| 139 | |
| 140 | /** |
| 141 | * @example 'fY4èHdZv68' |
| 142 | * |
| 143 | * @return string |
| 144 | */ |
| 145 | public function password($minLength = 6, $maxLength = 20) |
| 146 | { |
| 147 | $pattern = str_repeat('*', $this->numberBetween($minLength, $maxLength)); |
| 148 | |
| 149 | return $this->asciify($pattern); |
| 150 | } |
| 151 | |
| 152 | /** |
| 153 | * @example 'tiramisu.com' |
| 154 | * |
| 155 | * @return string |
| 156 | */ |
| 157 | public function domainName() |
| 158 | { |
| 159 | return $this->domainWord() . '.' . $this->tld(); |
| 160 | } |
| 161 | |
| 162 | /** |
| 163 | * @example 'faber' |
| 164 | * |
| 165 | * @return string |
| 166 | */ |
| 167 | public function domainWord() |
| 168 | { |
| 169 | $lastName = $this->generator->format('lastName'); |
| 170 | |
| 171 | $lastName = strtolower(static::transliterate($lastName)); |
| 172 | |
| 173 | // check if transliterate() didn't support the language and removed all letters |
| 174 | if (trim($lastName, '._') === '') { |
| 175 | throw new \Exception('domainWord failed with the selected locale. Try a different locale or activate the "intl" PHP extension.'); |
| 176 | } |
| 177 | |
| 178 | // clean possible trailing dot from last name |
| 179 | $lastName = rtrim($lastName, '.'); |
| 180 | |
| 181 | return $lastName; |
| 182 | } |
| 183 | |
| 184 | /** |
| 185 | * @example 'com' |
| 186 | * |
| 187 | * @return string |
| 188 | */ |
| 189 | public function tld() |
| 190 | { |
| 191 | return static::randomElement(static::$tld); |
| 192 | } |
| 193 | |
| 194 | /** |
| 195 | * @example 'http://www.runolfsdottir.com/' |
| 196 | * |
| 197 | * @return string |
| 198 | */ |
| 199 | public function url() |
| 200 | { |
| 201 | $format = static::randomElement(static::$urlFormats); |
| 202 | |
| 203 | return $this->generator->parse($format); |
| 204 | } |
| 205 | |
| 206 | /** |
| 207 | * @example 'aut-repellat-commodi-vel-itaque-nihil-id-saepe-nostrum' |
| 208 | * |
| 209 | * @return string |
| 210 | */ |
| 211 | public function slug($nbWords = 6, $variableNbWords = true) |
| 212 | { |
| 213 | if ($nbWords <= 0) { |
| 214 | return ''; |
| 215 | } |
| 216 | |
| 217 | if ($variableNbWords) { |
| 218 | $nbWords = (int) ($nbWords * self::numberBetween(60, 140) / 100) + 1; |
| 219 | } |
| 220 | $words = $this->generator->words($nbWords); |
| 221 | |
| 222 | return implode('-', $words); |
| 223 | } |
| 224 | |
| 225 | /** |
| 226 | * @example '237.149.115.38' |
| 227 | * |
| 228 | * @return string |
| 229 | */ |
| 230 | public function ipv4() |
| 231 | { |
| 232 | return long2ip(Miscellaneous::boolean() ? self::numberBetween(-2147483648, -2) : self::numberBetween(16777216, 2147483647)); |
| 233 | } |
| 234 | |
| 235 | /** |
| 236 | * @example '35cd:186d:3e23:2986:ef9f:5b41:42a4:e6f1' |
| 237 | * |
| 238 | * @return string |
| 239 | */ |
| 240 | public function ipv6() |
| 241 | { |
| 242 | $res = []; |
| 243 | |
| 244 | for ($i = 0; $i < 8; ++$i) { |
| 245 | $res[] = dechex(self::numberBetween(0, 65535)); |
| 246 | } |
| 247 | |
| 248 | return implode(':', $res); |
| 249 | } |
| 250 | |
| 251 | /** |
| 252 | * @example '10.1.1.17' |
| 253 | * |
| 254 | * @return string |
| 255 | */ |
| 256 | public static function localIpv4() |
| 257 | { |
| 258 | $ipBlock = self::randomElement(static::$localIpBlocks); |
| 259 | |
| 260 | return long2ip(static::numberBetween(ip2long($ipBlock[0]), ip2long($ipBlock[1]))); |
| 261 | } |
| 262 | |
| 263 | /** |
| 264 | * @example '32:F1:39:2F:D6:18' |
| 265 | * |
| 266 | * @return string |
| 267 | */ |
| 268 | public static function macAddress() |
| 269 | { |
| 270 | $mac = []; |
| 271 | |
| 272 | for ($i = 0; $i < 6; ++$i) { |
| 273 | $mac[] = sprintf('%02X', self::numberBetween(0, 0xff)); |
| 274 | } |
| 275 | |
| 276 | return implode(':', $mac); |
| 277 | } |
| 278 | |
| 279 | protected static function transliterate($string) |
| 280 | { |
| 281 | if (0 === preg_match('/[^A-Za-z0-9_.]/', $string)) { |
| 282 | return $string; |
| 283 | } |
| 284 | |
| 285 | $transId = 'Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;'; |
| 286 | |
| 287 | if (class_exists(\Transliterator::class, false) && $transliterator = \Transliterator::create($transId)) { |
| 288 | $transString = $transliterator->transliterate($string); |
| 289 | } else { |
| 290 | $transString = static::toAscii($string); |
| 291 | } |
| 292 | |
| 293 | return preg_replace('/[^A-Za-z0-9_.]/u', '', $transString); |
| 294 | } |
| 295 | |
| 296 | protected static function toAscii($string) |
| 297 | { |
| 298 | static $arrayFrom, $arrayTo; |
| 299 | |
| 300 | if (empty($arrayFrom)) { |
| 301 | $transliterationTable = [ |
| 302 | 'IJ' => 'I', 'Ö' => 'O', 'Œ' => 'O', 'Ü' => 'U', 'ä' => 'a', 'æ' => 'a', |
| 303 | 'ij' => 'i', 'ö' => 'o', 'œ' => 'o', 'ü' => 'u', 'ß' => 's', 'ſ' => 's', |
| 304 | 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', '� |
| 305 | ' => 'A', |
| 306 | 'Æ' => 'A', 'Ā' => 'A', 'Ą' => 'A', 'Ă' => 'A', 'Ç' => 'C', 'Ć' => 'C', |
| 307 | 'Č' => 'C', 'Ĉ' => 'C', 'Ċ' => 'C', 'Ď' => 'D', 'Đ' => 'D', 'È' => 'E', |
| 308 | 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ē' => 'E', 'Ę' => 'E', 'Ě' => 'E', |
| 309 | 'Ĕ' => 'E', 'Ė' => 'E', 'Ĝ' => 'G', 'Ğ' => 'G', 'Ġ' => 'G', 'Ģ' => 'G', |
| 310 | 'Ĥ' => 'H', 'Ħ' => 'H', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', |
| 311 | 'Ī' => 'I', 'Ĩ' => 'I', 'Ĭ' => 'I', 'Į' => 'I', 'İ' => 'I', 'Ĵ' => 'J', |
| 312 | 'Ķ' => 'K', 'Ľ' => 'K', 'Ĺ' => 'K', 'Ļ' => 'K', 'Ŀ' => 'K', 'Ł' => 'L', |
| 313 | 'Ñ' => 'N', 'Ń' => 'N', 'Ň' => 'N', '� |
| 314 | ' => 'N', 'Ŋ' => 'N', 'Ò' => 'O', |
| 315 | 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ø' => 'O', 'Ō' => 'O', 'Ő' => 'O', |
| 316 | 'Ŏ' => 'O', 'Ŕ' => 'R', 'Ř' => 'R', 'Ŗ' => 'R', 'Ś' => 'S', 'Ş' => 'S', |
| 317 | 'Ŝ' => 'S', 'Ș' => 'S', 'Š' => 'S', 'Ť' => 'T', 'Ţ' => 'T', 'Ŧ' => 'T', |
| 318 | 'Ț' => 'T', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ū' => 'U', 'Ů' => 'U', |
| 319 | 'Ű' => 'U', 'Ŭ' => 'U', 'Ũ' => 'U', 'Ų' => 'U', 'Ŵ' => 'W', 'Ŷ' => 'Y', |
| 320 | 'Ÿ' => 'Y', 'Ý' => 'Y', 'Ź' => 'Z', 'Ż' => 'Z', 'Ž' => 'Z', 'à' => 'a', |
| 321 | 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ā' => 'a', '� |
| 322 | ' => 'a', 'ă' => 'a', |
| 323 | 'å' => 'a', 'ç' => 'c', 'ć' => 'c', 'č' => 'c', 'ĉ' => 'c', 'ċ' => 'c', |
| 324 | 'ď' => 'd', 'đ' => 'd', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', |
| 325 | 'ē' => 'e', 'ę' => 'e', 'ě' => 'e', 'ĕ' => 'e', 'ė' => 'e', 'ƒ' => 'f', |
| 326 | 'ĝ' => 'g', 'ğ' => 'g', 'ġ' => 'g', 'ģ' => 'g', 'ĥ' => 'h', 'ħ' => 'h', |
| 327 | 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ī' => 'i', 'ĩ' => 'i', |
| 328 | 'ĭ' => 'i', 'į' => 'i', 'ı' => 'i', 'ĵ' => 'j', 'ķ' => 'k', 'ĸ' => 'k', |
| 329 | 'ł' => 'l', 'ľ' => 'l', 'ĺ' => 'l', 'ļ' => 'l', 'ŀ' => 'l', 'ñ' => 'n', |
| 330 | 'ń' => 'n', 'ň' => 'n', 'ņ' => 'n', 'ʼn' => 'n', 'ŋ' => 'n', 'ò' => 'o', |
| 331 | 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ø' => 'o', 'ō' => 'o', 'ő' => 'o', |
| 332 | 'ŏ' => 'o', 'ŕ' => 'r', 'ř' => 'r', 'ŗ' => 'r', 'ś' => 's', 'š' => 's', |
| 333 | 'ť' => 't', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ū' => 'u', 'ů' => 'u', |
| 334 | 'ű' => 'u', 'ŭ' => 'u', 'ũ' => 'u', 'ų' => 'u', 'ŵ' => 'w', 'ÿ' => 'y', |
| 335 | 'ý' => 'y', 'ŷ' => 'y', 'ż' => 'z', 'ź' => 'z', 'ž' => 'z', 'Α' => 'A', |
| 336 | 'Ά' => 'A', 'Ἀ' => 'A', 'Ἁ' => 'A', 'Ἂ' => 'A', 'Ἃ' => 'A', 'Ἄ' => 'A', |
| 337 | 'Ἅ' => 'A', 'Ἆ' => 'A', 'Ἇ' => 'A', 'ᾈ' => 'A', 'ᾉ' => 'A', 'ᾊ' => 'A', |
| 338 | 'ᾋ' => 'A', 'ᾌ' => 'A', 'ᾍ' => 'A', 'ᾎ' => 'A', 'ᾏ' => 'A', 'Ᾰ' => 'A', |
| 339 | 'Ᾱ' => 'A', 'Ὰ' => 'A', 'ᾼ' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D', |
| 340 | 'Ε' => 'E', 'Έ' => 'E', 'Ἐ' => 'E', 'Ἑ' => 'E', 'Ἒ' => 'E', 'Ἓ' => 'E', |
| 341 | 'Ἔ' => 'E', 'Ἕ' => 'E', 'Ὲ' => 'E', 'Ζ' => 'Z', 'Η' => 'I', 'Ή' => 'I', |
| 342 | 'Ἠ' => 'I', 'Ἡ' => 'I', 'Ἢ' => 'I', 'Ἣ' => 'I', 'Ἤ' => 'I', 'Ἥ' => 'I', |
| 343 | 'Ἦ' => 'I', 'Ἧ' => 'I', 'ᾘ' => 'I', 'ᾙ' => 'I', 'ᾚ' => 'I', 'ᾛ' => 'I', |
| 344 | 'ᾜ' => 'I', 'ᾝ' => 'I', 'ᾞ' => 'I', 'ᾟ' => 'I', 'Ὴ' => 'I', 'ῌ' => 'I', |
| 345 | 'Θ' => 'T', 'Ι' => 'I', 'Ί' => 'I', 'Ϊ' => 'I', 'Ἰ' => 'I', 'Ἱ' => 'I', |
| 346 | 'Ἲ' => 'I', 'Ἳ' => 'I', 'Ἴ' => 'I', 'Ἵ' => 'I', 'Ἶ' => 'I', 'Ἷ' => 'I', |
| 347 | 'Ῐ' => 'I', 'Ῑ' => 'I', 'Ὶ' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M', |
| 348 | 'Ν' => 'N', 'Ξ' => 'K', 'Ο' => 'O', 'Ό' => 'O', 'Ὀ' => 'O', 'Ὁ' => 'O', |
| 349 | 'Ὂ' => 'O', 'Ὃ' => 'O', 'Ὄ' => 'O', 'Ὅ' => 'O', 'Ὸ' => 'O', 'Π' => 'P', |
| 350 | 'Ρ' => 'R', 'Ῥ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Ύ' => 'Y', |
| 351 | 'Ϋ' => 'Y', 'Ὑ' => 'Y', 'Ὓ' => 'Y', 'Ὕ' => 'Y', 'Ὗ' => 'Y', 'Ῠ' => 'Y', |
| 352 | 'Ῡ' => 'Y', 'Ὺ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'P', 'Ω' => 'O', |
| 353 | 'Ώ' => 'O', 'Ὠ' => 'O', 'Ὡ' => 'O', 'Ὢ' => 'O', 'Ὣ' => 'O', 'Ὤ' => 'O', |
| 354 | 'Ὥ' => 'O', 'Ὦ' => 'O', 'Ὧ' => 'O', 'ᾨ' => 'O', 'ᾩ' => 'O', 'ᾪ' => 'O', |
| 355 | 'ᾫ' => 'O', 'ᾬ' => 'O', 'ᾭ' => 'O', 'ᾮ' => 'O', 'ᾯ' => 'O', 'Ὼ' => 'O', |
| 356 | 'ῼ' => 'O', 'α' => 'a', 'ά' => 'a', 'ἀ' => 'a', 'ἁ' => 'a', 'ἂ' => 'a', |
| 357 | 'ἃ' => 'a', 'ἄ' => 'a', '� |
| 358 | ' => 'a', 'ἆ' => 'a', 'ἇ' => 'a', 'ᾀ' => 'a', |
| 359 | 'ᾁ' => 'a', 'ᾂ' => 'a', 'ᾃ' => 'a', 'ᾄ' => 'a', '� |
| 360 | ' => 'a', 'ᾆ' => 'a', |
| 361 | 'ᾇ' => 'a', 'ὰ' => 'a', 'ᾰ' => 'a', 'ᾱ' => 'a', 'ᾲ' => 'a', 'ᾳ' => 'a', |
| 362 | 'ᾴ' => 'a', 'ᾶ' => 'a', 'ᾷ' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd', |
| 363 | 'ε' => 'e', 'έ' => 'e', 'ἐ' => 'e', 'ἑ' => 'e', 'ἒ' => 'e', 'ἓ' => 'e', |
| 364 | 'ἔ' => 'e', 'ἕ' => 'e', 'ὲ' => 'e', 'ζ' => 'z', 'η' => 'i', 'ή' => 'i', |
| 365 | 'ἠ' => 'i', 'ἡ' => 'i', 'ἢ' => 'i', 'ἣ' => 'i', 'ἤ' => 'i', 'ἥ' => 'i', |
| 366 | 'ἦ' => 'i', 'ἧ' => 'i', 'ᾐ' => 'i', 'ᾑ' => 'i', 'ᾒ' => 'i', 'ᾓ' => 'i', |
| 367 | 'ᾔ' => 'i', 'ᾕ' => 'i', 'ᾖ' => 'i', 'ᾗ' => 'i', 'ὴ' => 'i', 'ῂ' => 'i', |
| 368 | 'ῃ' => 'i', 'ῄ' => 'i', 'ῆ' => 'i', 'ῇ' => 'i', 'θ' => 't', 'ι' => 'i', |
| 369 | 'ί' => 'i', 'ϊ' => 'i', 'ΐ' => 'i', 'ἰ' => 'i', 'ἱ' => 'i', 'ἲ' => 'i', |
| 370 | 'ἳ' => 'i', 'ἴ' => 'i', 'ἵ' => 'i', 'ἶ' => 'i', 'ἷ' => 'i', 'ὶ' => 'i', |
| 371 | 'ῐ' => 'i', 'ῑ' => 'i', 'ῒ' => 'i', 'ῖ' => 'i', 'ῗ' => 'i', 'κ' => 'k', |
| 372 | 'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => 'k', 'ο' => 'o', 'ό' => 'o', |
| 373 | 'ὀ' => 'o', 'ὁ' => 'o', 'ὂ' => 'o', 'ὃ' => 'o', 'ὄ' => 'o', '� |
| 374 | ' => 'o', |
| 375 | 'ὸ' => 'o', 'π' => 'p', 'ρ' => 'r', 'ῤ' => 'r', 'ῥ' => 'r', 'σ' => 's', |
| 376 | 'ς' => 's', 'τ' => 't', '� |
| 377 | ' => 'y', 'ύ' => 'y', 'ϋ' => 'y', 'ΰ' => 'y', |
| 378 | 'ὐ' => 'y', 'ὑ' => 'y', 'ὒ' => 'y', 'ὓ' => 'y', 'ὔ' => 'y', 'ὕ' => 'y', |
| 379 | 'ὖ' => 'y', 'ὗ' => 'y', 'ὺ' => 'y', 'ῠ' => 'y', 'ῡ' => 'y', 'ῢ' => 'y', |
| 380 | 'ῦ' => 'y', 'ῧ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'p', 'ω' => 'o', |
| 381 | 'ώ' => 'o', 'ὠ' => 'o', 'ὡ' => 'o', 'ὢ' => 'o', 'ὣ' => 'o', 'ὤ' => 'o', |
| 382 | 'ὥ' => 'o', 'ὦ' => 'o', 'ὧ' => 'o', 'ᾠ' => 'o', 'ᾡ' => 'o', 'ᾢ' => 'o', |
| 383 | 'ᾣ' => 'o', 'ᾤ' => 'o', 'ᾥ' => 'o', 'ᾦ' => 'o', 'ᾧ' => 'o', 'ὼ' => 'o', |
| 384 | 'ῲ' => 'o', 'ῳ' => 'o', 'ῴ' => 'o', 'ῶ' => 'o', 'ῷ' => 'o', 'А' => 'A', |
| 385 | 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E', |
| 386 | 'Ж' => 'Z', 'З' => 'Z', 'И' => 'I', 'Й' => 'I', 'К' => 'K', 'Л' => 'L', |
| 387 | 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', |
| 388 | 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'K', 'Ц' => 'T', 'Ч' => 'C', |
| 389 | 'Ш' => 'S', 'Щ' => 'S', 'Ы' => 'Y', 'Э' => 'E', 'Ю' => 'Y', 'Я' => 'Y', |
| 390 | 'а' => 'A', 'б' => 'B', 'в' => 'V', 'г' => 'G', 'д' => 'D', 'е' => 'E', |
| 391 | 'ё' => 'E', 'ж' => 'Z', 'з' => 'Z', 'и' => 'I', 'й' => 'I', 'к' => 'K', |
| 392 | 'л' => 'L', 'м' => 'M', 'н' => 'N', 'о' => 'O', 'п' => 'P', 'р' => 'R', |
| 393 | 'с' => 'S', 'т' => 'T', 'у' => 'U', 'ф' => 'F', '� |
| 394 | ' => 'K', 'ц' => 'T', |
| 395 | 'ч' => 'C', 'ш' => 'S', 'щ' => 'S', 'ы' => 'Y', 'э' => 'E', 'ю' => 'Y', |
| 396 | 'я' => 'Y', 'ð' => 'd', 'Ð' => 'D', 'þ' => 't', 'Þ' => 'T', 'ა' => 'a', |
| 397 | 'ბ' => 'b', 'გ' => 'g', 'დ' => 'd', 'ე' => 'e', 'ვ' => 'v', 'ზ' => 'z', |
| 398 | 'თ' => 't', 'ი' => 'i', 'კ' => 'k', 'ლ' => 'l', 'მ' => 'm', 'ნ' => 'n', |
| 399 | 'ო' => 'o', 'პ' => 'p', 'ჟ' => 'z', 'რ' => 'r', 'ს' => 's', 'ტ' => 't', |
| 400 | 'უ' => 'u', 'ფ' => 'p', 'ქ' => 'k', 'ღ' => 'g', 'ყ' => 'q', 'შ' => 's', |
| 401 | 'ჩ' => 'c', 'ც' => 't', 'ძ' => 'd', 'წ' => 't', 'ჭ' => 'c', 'ხ' => 'k', |
| 402 | 'ჯ' => 'j', 'ჰ' => 'h', 'ţ' => 't', 'ʼ' => "'", '̧' => '', 'ḩ' => 'h', |
| 403 | '‘' => "'", '’' => "'", 'ừ' => 'u', '/' => '', 'ế' => 'e', 'ả' => 'a', |
| 404 | 'ị' => 'i', 'ậ' => 'a', 'ệ' => 'e', 'ỉ' => 'i', 'ồ' => 'o', 'ề' => 'e', |
| 405 | 'ơ' => 'o', 'ạ' => 'a', 'ẵ' => 'a', 'ư' => 'u', 'ằ' => 'a', 'ầ' => 'a', |
| 406 | 'ḑ' => 'd', 'Ḩ' => 'H', 'Ḑ' => 'D', 'ș' => 's', 'ț' => 't', 'ộ' => 'o', |
| 407 | 'ắ' => 'a', 'ş' => 's', "'" => '', 'ու' => 'u', 'ա' => 'a', 'բ' => 'b', |
| 408 | 'գ' => 'g', 'դ' => 'd', 'ե' => 'e', 'զ' => 'z', 'է' => 'e', 'ը' => 'y', |
| 409 | 'թ' => 't', 'ժ' => 'zh', 'ի' => 'i', 'լ' => 'l', 'խ' => 'kh', 'ծ' => 'ts', |
| 410 | 'կ' => 'k', 'հ' => 'h', 'ձ' => 'dz', 'ղ' => 'gh', 'ճ' => 'ch', 'մ' => 'm', |
| 411 | 'յ' => 'y', 'ն' => 'n', 'շ' => 'sh', 'ո' => 'o', 'չ' => 'ch', 'պ' => 'p', |
| 412 | 'ջ' => 'j', 'ռ' => 'r', 'ս' => 's', 'վ' => 'v', 'տ' => 't', 'ր' => 'r', |
| 413 | 'ց' => 'ts', 'փ' => 'p', 'ք' => 'q', 'և' => 'ev', '� |
| 414 | ' => 'o', 'ֆ' => 'f', |
| 415 | ]; |
| 416 | $arrayFrom = array_keys($transliterationTable); |
| 417 | $arrayTo = array_values($transliterationTable); |
| 418 | } |
| 419 | |
| 420 | return str_replace($arrayFrom, $arrayTo, $string); |
| 421 | } |
| 422 | } |
| 423 |