| 148 |
lars |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
namespace Faker\Provider;
|
|
|
4 |
|
|
|
5 |
class Internet extends Base
|
|
|
6 |
{
|
|
|
7 |
protected static $freeEmailDomain = ['gmail.com', 'yahoo.com', 'hotmail.com'];
|
|
|
8 |
protected static $tld = ['com', 'com', 'com', 'com', 'com', 'com', 'biz', 'info', 'net', 'org'];
|
|
|
9 |
|
|
|
10 |
protected static $userNameFormats = [
|
|
|
11 |
'{{lastName}}.{{firstName}}',
|
|
|
12 |
'{{firstName}}.{{lastName}}',
|
|
|
13 |
'{{firstName}}##',
|
|
|
14 |
'?{{lastName}}',
|
|
|
15 |
];
|
|
|
16 |
protected static $emailFormats = [
|
|
|
17 |
'{{userName}}@{{domainName}}',
|
|
|
18 |
'{{userName}}@{{freeEmailDomain}}',
|
|
|
19 |
];
|
|
|
20 |
protected static $urlFormats = [
|
|
|
21 |
'http://www.{{domainName}}/',
|
|
|
22 |
'http://{{domainName}}/',
|
|
|
23 |
'http://www.{{domainName}}/{{slug}}',
|
|
|
24 |
'http://www.{{domainName}}/{{slug}}',
|
|
|
25 |
'https://www.{{domainName}}/{{slug}}',
|
|
|
26 |
'http://www.{{domainName}}/{{slug}}.html',
|
|
|
27 |
'http://{{domainName}}/{{slug}}',
|
|
|
28 |
'http://{{domainName}}/{{slug}}',
|
|
|
29 |
'http://{{domainName}}/{{slug}}.html',
|
|
|
30 |
'https://{{domainName}}/{{slug}}.html',
|
|
|
31 |
];
|
|
|
32 |
|
|
|
33 |
/**
|
|
|
34 |
* @see https://tools.ietf.org/html/rfc1918#section-3
|
|
|
35 |
*/
|
|
|
36 |
protected static $localIpBlocks = [
|
|
|
37 |
['10.0.0.0', '10.255.255.255'],
|
|
|
38 |
['172.16.0.0', '172.31.255.255'],
|
|
|
39 |
['192.168.0.0', '192.168.255.255'],
|
|
|
40 |
];
|
|
|
41 |
|
|
|
42 |
/**
|
|
|
43 |
* @example 'jdoe@acme.biz'
|
|
|
44 |
*
|
|
|
45 |
* @return string
|
|
|
46 |
*/
|
|
|
47 |
public function email()
|
|
|
48 |
{
|
|
|
49 |
$format = static::randomElement(static::$emailFormats);
|
|
|
50 |
|
|
|
51 |
return $this->generator->parse($format);
|
|
|
52 |
}
|
|
|
53 |
|
|
|
54 |
/**
|
|
|
55 |
* @example 'jdoe@example.com'
|
|
|
56 |
*
|
|
|
57 |
* @return string
|
|
|
58 |
*/
|
|
|
59 |
final public function safeEmail()
|
|
|
60 |
{
|
|
|
61 |
return preg_replace('/\s/u', '', $this->userName() . '@' . static::safeEmailDomain());
|
|
|
62 |
}
|
|
|
63 |
|
|
|
64 |
/**
|
|
|
65 |
* @example 'jdoe@gmail.com'
|
|
|
66 |
*
|
|
|
67 |
* @return string
|
|
|
68 |
*/
|
|
|
69 |
public function freeEmail()
|
|
|
70 |
{
|
|
|
71 |
return preg_replace('/\s/u', '', $this->userName() . '@' . static::freeEmailDomain());
|
|
|
72 |
}
|
|
|
73 |
|
|
|
74 |
/**
|
|
|
75 |
* @example 'jdoe@dawson.com'
|
|
|
76 |
*
|
|
|
77 |
* @return string
|
|
|
78 |
*/
|
|
|
79 |
public function companyEmail()
|
|
|
80 |
{
|
|
|
81 |
return preg_replace('/\s/u', '', $this->userName() . '@' . $this->domainName());
|
|
|
82 |
}
|
|
|
83 |
|
|
|
84 |
/**
|
|
|
85 |
* @example 'gmail.com'
|
|
|
86 |
*
|
|
|
87 |
* @return string
|
|
|
88 |
*/
|
|
|
89 |
public static function freeEmailDomain()
|
|
|
90 |
{
|
|
|
91 |
return static::randomElement(static::$freeEmailDomain);
|
|
|
92 |
}
|
|
|
93 |
|
|
|
94 |
/**
|
|
|
95 |
* @example 'example.org'
|
|
|
96 |
*
|
|
|
97 |
* @return string
|
|
|
98 |
*/
|
|
|
99 |
final public static function safeEmailDomain()
|
|
|
100 |
{
|
|
|
101 |
$domains = [
|
|
|
102 |
'example.com',
|
|
|
103 |
'example.org',
|
|
|
104 |
'example.net',
|
|
|
105 |
];
|
|
|
106 |
|
|
|
107 |
return static::randomElement($domains);
|
|
|
108 |
}
|
|
|
109 |
|
|
|
110 |
/**
|
|
|
111 |
* @example 'jdoe'
|
|
|
112 |
*
|
|
|
113 |
* @return string
|
|
|
114 |
*/
|
|
|
115 |
public function userName()
|
|
|
116 |
{
|
|
|
117 |
$format = static::randomElement(static::$userNameFormats);
|
|
|
118 |
$username = static::bothify($this->generator->parse($format));
|
|
|
119 |
|
|
|
120 |
$username = strtolower(static::transliterate($username));
|
|
|
121 |
|
|
|
122 |
// check if transliterate() didn't support the language and removed all letters
|
|
|
123 |
if (trim($username, '._') === '') {
|
|
|
124 |
throw new \Exception('userName failed with the selected locale. Try a different locale or activate the "intl" PHP extension.');
|
|
|
125 |
}
|
|
|
126 |
|
|
|
127 |
// clean possible trailing dots from first/last names
|
|
|
128 |
$username = str_replace('..', '.', $username);
|
|
|
129 |
$username = rtrim($username, '.');
|
|
|
130 |
|
|
|
131 |
return $username;
|
|
|
132 |
}
|
|
|
133 |
|
|
|
134 |
/**
|
|
|
135 |
* @example 'fY4èHdZv68'
|
|
|
136 |
*
|
|
|
137 |
* @return string
|
|
|
138 |
*/
|
|
|
139 |
public function password($minLength = 6, $maxLength = 20)
|
|
|
140 |
{
|
|
|
141 |
$pattern = str_repeat('*', $this->numberBetween($minLength, $maxLength));
|
|
|
142 |
|
|
|
143 |
return $this->asciify($pattern);
|
|
|
144 |
}
|
|
|
145 |
|
|
|
146 |
/**
|
|
|
147 |
* @example 'tiramisu.com'
|
|
|
148 |
*
|
|
|
149 |
* @return string
|
|
|
150 |
*/
|
|
|
151 |
public function domainName()
|
|
|
152 |
{
|
|
|
153 |
return $this->domainWord() . '.' . $this->tld();
|
|
|
154 |
}
|
|
|
155 |
|
|
|
156 |
/**
|
|
|
157 |
* @example 'faber'
|
|
|
158 |
*
|
|
|
159 |
* @return string
|
|
|
160 |
*/
|
|
|
161 |
public function domainWord()
|
|
|
162 |
{
|
|
|
163 |
$lastName = $this->generator->format('lastName');
|
|
|
164 |
|
|
|
165 |
$lastName = strtolower(static::transliterate($lastName));
|
|
|
166 |
|
|
|
167 |
// check if transliterate() didn't support the language and removed all letters
|
|
|
168 |
if (trim($lastName, '._') === '') {
|
|
|
169 |
throw new \Exception('domainWord failed with the selected locale. Try a different locale or activate the "intl" PHP extension.');
|
|
|
170 |
}
|
|
|
171 |
|
|
|
172 |
// clean possible trailing dot from last name
|
|
|
173 |
$lastName = rtrim($lastName, '.');
|
|
|
174 |
|
|
|
175 |
return $lastName;
|
|
|
176 |
}
|
|
|
177 |
|
|
|
178 |
/**
|
|
|
179 |
* @example 'com'
|
|
|
180 |
*
|
|
|
181 |
* @return string
|
|
|
182 |
*/
|
|
|
183 |
public function tld()
|
|
|
184 |
{
|
|
|
185 |
return static::randomElement(static::$tld);
|
|
|
186 |
}
|
|
|
187 |
|
|
|
188 |
/**
|
|
|
189 |
* @example 'http://www.runolfsdottir.com/'
|
|
|
190 |
*
|
|
|
191 |
* @return string
|
|
|
192 |
*/
|
|
|
193 |
public function url()
|
|
|
194 |
{
|
|
|
195 |
$format = static::randomElement(static::$urlFormats);
|
|
|
196 |
|
|
|
197 |
return $this->generator->parse($format);
|
|
|
198 |
}
|
|
|
199 |
|
|
|
200 |
/**
|
|
|
201 |
* @example 'aut-repellat-commodi-vel-itaque-nihil-id-saepe-nostrum'
|
|
|
202 |
*
|
|
|
203 |
* @return string
|
|
|
204 |
*/
|
|
|
205 |
public function slug($nbWords = 6, $variableNbWords = true)
|
|
|
206 |
{
|
|
|
207 |
if ($nbWords <= 0) {
|
|
|
208 |
return '';
|
|
|
209 |
}
|
|
|
210 |
|
|
|
211 |
if ($variableNbWords) {
|
|
|
212 |
$nbWords = (int) ($nbWords * self::numberBetween(60, 140) / 100) + 1;
|
|
|
213 |
}
|
|
|
214 |
$words = $this->generator->words($nbWords);
|
|
|
215 |
|
|
|
216 |
return implode('-', $words);
|
|
|
217 |
}
|
|
|
218 |
|
|
|
219 |
/**
|
|
|
220 |
* @example '237.149.115.38'
|
|
|
221 |
*
|
|
|
222 |
* @return string
|
|
|
223 |
*/
|
|
|
224 |
public function ipv4()
|
|
|
225 |
{
|
|
|
226 |
return long2ip(Miscellaneous::boolean() ? self::numberBetween(-2147483648, -2) : self::numberBetween(16777216, 2147483647));
|
|
|
227 |
}
|
|
|
228 |
|
|
|
229 |
/**
|
|
|
230 |
* @example '35cd:186d:3e23:2986:ef9f:5b41:42a4:e6f1'
|
|
|
231 |
*
|
|
|
232 |
* @return string
|
|
|
233 |
*/
|
|
|
234 |
public function ipv6()
|
|
|
235 |
{
|
|
|
236 |
$res = [];
|
|
|
237 |
|
|
|
238 |
for ($i = 0; $i < 8; ++$i) {
|
|
|
239 |
$res[] = dechex(self::numberBetween(0, 65535));
|
|
|
240 |
}
|
|
|
241 |
|
|
|
242 |
return implode(':', $res);
|
|
|
243 |
}
|
|
|
244 |
|
|
|
245 |
/**
|
|
|
246 |
* @example '10.1.1.17'
|
|
|
247 |
*
|
|
|
248 |
* @return string
|
|
|
249 |
*/
|
|
|
250 |
public static function localIpv4()
|
|
|
251 |
{
|
|
|
252 |
$ipBlock = self::randomElement(static::$localIpBlocks);
|
|
|
253 |
|
|
|
254 |
return long2ip(static::numberBetween(ip2long($ipBlock[0]), ip2long($ipBlock[1])));
|
|
|
255 |
}
|
|
|
256 |
|
|
|
257 |
/**
|
|
|
258 |
* @example '32:F1:39:2F:D6:18'
|
|
|
259 |
*
|
|
|
260 |
* @return string
|
|
|
261 |
*/
|
|
|
262 |
public static function macAddress()
|
|
|
263 |
{
|
|
|
264 |
$mac = [];
|
|
|
265 |
|
|
|
266 |
for ($i = 0; $i < 6; ++$i) {
|
|
|
267 |
$mac[] = sprintf('%02X', self::numberBetween(0, 0xff));
|
|
|
268 |
}
|
|
|
269 |
|
|
|
270 |
return implode(':', $mac);
|
|
|
271 |
}
|
|
|
272 |
|
|
|
273 |
protected static function transliterate($string)
|
|
|
274 |
{
|
|
|
275 |
if (0 === preg_match('/[^A-Za-z0-9_.]/', $string)) {
|
|
|
276 |
return $string;
|
|
|
277 |
}
|
|
|
278 |
|
|
|
279 |
$transId = 'Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;';
|
|
|
280 |
|
|
|
281 |
if (class_exists(\Transliterator::class, false) && $transliterator = \Transliterator::create($transId)) {
|
|
|
282 |
$transString = $transliterator->transliterate($string);
|
|
|
283 |
} else {
|
|
|
284 |
$transString = static::toAscii($string);
|
|
|
285 |
}
|
|
|
286 |
|
|
|
287 |
return preg_replace('/[^A-Za-z0-9_.]/u', '', $transString);
|
|
|
288 |
}
|
|
|
289 |
|
|
|
290 |
protected static function toAscii($string)
|
|
|
291 |
{
|
|
|
292 |
static $arrayFrom, $arrayTo;
|
|
|
293 |
|
|
|
294 |
if (empty($arrayFrom)) {
|
|
|
295 |
$transliterationTable = [
|
|
|
296 |
'IJ' => 'I', 'Ö' => 'O', 'Œ' => 'O', 'Ü' => 'U', 'ä' => 'a', 'æ' => 'a',
|
|
|
297 |
'ij' => 'i', 'ö' => 'o', 'œ' => 'o', 'ü' => 'u', 'ß' => 's', 'ſ' => 's',
|
|
|
298 |
'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A',
|
|
|
299 |
'Æ' => 'A', 'Ā' => 'A', 'Ą' => 'A', 'Ă' => 'A', 'Ç' => 'C', 'Ć' => 'C',
|
|
|
300 |
'Č' => 'C', 'Ĉ' => 'C', 'Ċ' => 'C', 'Ď' => 'D', 'Đ' => 'D', 'È' => 'E',
|
|
|
301 |
'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ē' => 'E', 'Ę' => 'E', 'Ě' => 'E',
|
|
|
302 |
'Ä”' => 'E', 'Ä–' => 'E', 'Äœ' => 'G', 'Äž' => 'G', 'Ä ' => 'G', 'Ä¢' => 'G',
|
|
|
303 |
'Ĥ' => 'H', 'Ħ' => 'H', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',
|
|
|
304 |
'Ī' => 'I', 'Ĩ' => 'I', 'Ĭ' => 'I', 'Į' => 'I', 'İ' => 'I', 'Ĵ' => 'J',
|
|
|
305 |
'Ķ' => 'K', 'Ľ' => 'K', 'Ĺ' => 'K', 'Ä»' => 'K', 'Ä¿' => 'K', 'Å' => 'L',
|
|
|
306 |
'Ñ' => 'N', 'Ń' => 'N', 'Ň' => 'N', 'Ņ' => 'N', 'Ŋ' => 'N', 'Ò' => 'O',
|
|
|
307 |
'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ø' => 'O', 'Ō' => 'O', 'Ő' => 'O',
|
|
|
308 |
'Ŏ' => 'O', 'Ŕ' => 'R', 'Ř' => 'R', 'Ŗ' => 'R', 'Ś' => 'S', 'Ş' => 'S',
|
|
|
309 |
'Ŝ' => 'S', 'Ș' => 'S', 'Š' => 'S', 'Ť' => 'T', 'Ţ' => 'T', 'Ŧ' => 'T',
|
|
|
310 |
'Ț' => 'T', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ū' => 'U', 'Ů' => 'U',
|
|
|
311 |
'Ű' => 'U', 'Ŭ' => 'U', 'Ũ' => 'U', 'Ų' => 'U', 'Ŵ' => 'W', 'Ŷ' => 'Y',
|
|
|
312 |
'Ÿ' => 'Y', 'Ý' => 'Y', 'Ź' => 'Z', 'Ż' => 'Z', 'Ž' => 'Z', 'à' => 'a',
|
|
|
313 |
'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ā' => 'a', 'ą' => 'a', 'ă' => 'a',
|
|
|
314 |
'å' => 'a', 'ç' => 'c', 'ć' => 'c', 'č' => 'c', 'ĉ' => 'c', 'ċ' => 'c',
|
|
|
315 |
'ď' => 'd', 'đ' => 'd', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e',
|
|
|
316 |
'Ä“' => 'e', 'Ä™' => 'e', 'Ä›' => 'e', 'Ä•' => 'e', 'Ä—' => 'e', 'Æ’' => 'f',
|
|
|
317 |
'Ä' => 'g', 'ÄŸ' => 'g', 'Ä¡' => 'g', 'Ä£' => 'g', 'Ä¥' => 'h', 'ħ' => 'h',
|
|
|
318 |
'ì' => 'i', 'Ã' => 'i', 'î' => 'i', 'ï' => 'i', 'Ä«' => 'i', 'Ä©' => 'i',
|
|
|
319 |
'Ä' => 'i', 'į' => 'i', 'ı' => 'i', 'ĵ' => 'j', 'Ä·' => 'k', 'ĸ' => 'k',
|
|
|
320 |
'ł' => 'l', 'ľ' => 'l', 'ĺ' => 'l', 'ļ' => 'l', 'ŀ' => 'l', 'ñ' => 'n',
|
|
|
321 |
'ń' => 'n', 'ň' => 'n', 'ņ' => 'n', 'ʼn' => 'n', 'ŋ' => 'n', 'ò' => 'o',
|
|
|
322 |
'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ø' => 'o', 'ō' => 'o', 'ő' => 'o',
|
|
|
323 |
'ŏ' => 'o', 'ŕ' => 'r', 'ř' => 'r', 'ŗ' => 'r', 'ś' => 's', 'š' => 's',
|
|
|
324 |
'ť' => 't', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ū' => 'u', 'ů' => 'u',
|
|
|
325 |
'ű' => 'u', 'Å' => 'u', 'Å©' => 'u', 'ų' => 'u', 'ŵ' => 'w', 'ÿ' => 'y',
|
|
|
326 |
'ý' => 'y', 'ŷ' => 'y', 'ż' => 'z', 'ź' => 'z', 'ž' => 'z', 'Α' => 'A',
|
|
|
327 |
'Ά' => 'A', 'Ἀ' => 'A', 'Ἁ' => 'A', 'Ἂ' => 'A', 'Ἃ' => 'A', 'Ἄ' => 'A',
|
|
|
328 |
'á¼' => 'A', 'Ἆ' => 'A', 'á¼' => 'A', 'ᾈ' => 'A', 'ᾉ' => 'A', 'ᾊ' => 'A',
|
|
|
329 |
'ᾋ' => 'A', 'ᾌ' => 'A', 'á¾' => 'A', 'ᾎ' => 'A', 'á¾' => 'A', 'Ᾰ' => 'A',
|
|
|
330 |
'Ᾱ' => 'A', 'Ὰ' => 'A', 'ᾼ' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D',
|
|
|
331 |
'Ε' => 'E', 'Έ' => 'E', 'Ἐ' => 'E', 'Ἑ' => 'E', 'Ἒ' => 'E', 'Ἓ' => 'E',
|
|
|
332 |
'Ἔ' => 'E', 'Ἕ' => 'E', 'Ὲ' => 'E', 'Ζ' => 'Z', 'Η' => 'I', 'Ή' => 'I',
|
|
|
333 |
'Ἠ' => 'I', 'Ἡ' => 'I', 'Ἢ' => 'I', 'Ἣ' => 'I', 'Ἤ' => 'I', 'á¼' => 'I',
|
|
|
334 |
'Ἦ' => 'I', 'Ἧ' => 'I', 'ᾘ' => 'I', 'ᾙ' => 'I', 'ᾚ' => 'I', 'ᾛ' => 'I',
|
|
|
335 |
'ᾜ' => 'I', 'á¾' => 'I', 'ᾞ' => 'I', 'ᾟ' => 'I', 'Ὴ' => 'I', 'ῌ' => 'I',
|
|
|
336 |
'Θ' => 'T', 'Ι' => 'I', 'Ί' => 'I', 'Ϊ' => 'I', 'Ἰ' => 'I', 'Ἱ' => 'I',
|
|
|
337 |
'Ἲ' => 'I', 'Ἳ' => 'I', 'Ἴ' => 'I', 'Ἵ' => 'I', 'Ἶ' => 'I', 'Ἷ' => 'I',
|
|
|
338 |
'Ῐ' => 'I', 'Ῑ' => 'I', 'Ὶ' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M',
|
|
|
339 |
'Ν' => 'N', 'Ξ' => 'K', 'Ο' => 'O', 'Ό' => 'O', 'Ὀ' => 'O', 'Ὁ' => 'O',
|
|
|
340 |
'Ὂ' => 'O', 'Ὃ' => 'O', 'Ὄ' => 'O', 'á½' => 'O', 'Ὸ' => 'O', 'Î ' => 'P',
|
|
|
341 |
'Ρ' => 'R', 'Ῥ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Ύ' => 'Y',
|
|
|
342 |
'Ϋ' => 'Y', 'á½™' => 'Y', 'á½›' => 'Y', 'á½' => 'Y', 'Ὗ' => 'Y', 'Ῠ' => 'Y',
|
|
|
343 |
'Ῡ' => 'Y', 'Ὺ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'P', 'Ω' => 'O',
|
|
|
344 |
'Î' => 'O', 'Ὠ' => 'O', 'Ὡ' => 'O', 'Ὢ' => 'O', 'Ὣ' => 'O', 'Ὤ' => 'O',
|
|
|
345 |
'á½' => 'O', 'á½®' => 'O', 'Ὧ' => 'O', 'ᾨ' => 'O', 'ᾩ' => 'O', 'ᾪ' => 'O',
|
|
|
346 |
'ᾫ' => 'O', 'ᾬ' => 'O', 'á¾' => 'O', 'á¾®' => 'O', 'ᾯ' => 'O', 'Ὼ' => 'O',
|
|
|
347 |
'ῼ' => 'O', 'α' => 'a', 'ά' => 'a', 'á¼€' => 'a', 'á¼' => 'a', 'ἂ' => 'a',
|
|
|
348 |
'ἃ' => 'a', 'ἄ' => 'a', 'ἅ' => 'a', 'ἆ' => 'a', 'ἇ' => 'a', 'ᾀ' => 'a',
|
|
|
349 |
'á¾' => 'a', 'ᾂ' => 'a', 'ᾃ' => 'a', 'ᾄ' => 'a', 'á¾…' => 'a', 'ᾆ' => 'a',
|
|
|
350 |
'ᾇ' => 'a', 'ὰ' => 'a', 'ᾰ' => 'a', 'ᾱ' => 'a', 'ᾲ' => 'a', 'ᾳ' => 'a',
|
|
|
351 |
'ᾴ' => 'a', 'ᾶ' => 'a', 'ᾷ' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd',
|
|
|
352 |
'ε' => 'e', 'Î' => 'e', 'á¼' => 'e', 'ἑ' => 'e', 'á¼’' => 'e', 'ἓ' => 'e',
|
|
|
353 |
'ἔ' => 'e', 'ἕ' => 'e', 'ὲ' => 'e', 'ζ' => 'z', 'η' => 'i', 'ή' => 'i',
|
|
|
354 |
'ἠ' => 'i', 'ἡ' => 'i', 'ἢ' => 'i', 'ἣ' => 'i', 'ἤ' => 'i', 'ἥ' => 'i',
|
|
|
355 |
'ἦ' => 'i', 'á¼§' => 'i', 'á¾' => 'i', 'ᾑ' => 'i', 'á¾’' => 'i', 'ᾓ' => 'i',
|
|
|
356 |
'ᾔ' => 'i', 'ᾕ' => 'i', 'ᾖ' => 'i', 'ᾗ' => 'i', 'ὴ' => 'i', 'ῂ' => 'i',
|
|
|
357 |
'ῃ' => 'i', 'ῄ' => 'i', 'ῆ' => 'i', 'ῇ' => 'i', 'θ' => 't', 'ι' => 'i',
|
|
|
358 |
'ί' => 'i', 'ÏŠ' => 'i', 'Î' => 'i', 'á¼°' => 'i', 'á¼±' => 'i', 'á¼²' => 'i',
|
|
|
359 |
'á¼³' => 'i', 'á¼´' => 'i', 'á¼µ' => 'i', 'á¼¶' => 'i', 'á¼·' => 'i', 'á½¶' => 'i',
|
|
|
360 |
'á¿' => 'i', 'á¿‘' => 'i', 'á¿’' => 'i', 'á¿–' => 'i', 'á¿—' => 'i', 'κ' => 'k',
|
|
|
361 |
'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => 'k', 'ο' => 'o', 'ό' => 'o',
|
|
|
362 |
'á½€' => 'o', 'á½' => 'o', 'ὂ' => 'o', 'ὃ' => 'o', 'ὄ' => 'o', 'á½…' => 'o',
|
|
|
363 |
'ὸ' => 'o', 'Ï€' => 'p', 'Ï' => 'r', 'ῤ' => 'r', 'á¿¥' => 'r', 'σ' => 's',
|
|
|
364 |
'ς' => 's', 'τ' => 't', 'υ' => 'y', 'ύ' => 'y', 'ϋ' => 'y', 'ΰ' => 'y',
|
|
|
365 |
'á½' => 'y', 'ὑ' => 'y', 'á½’' => 'y', 'ὓ' => 'y', 'á½”' => 'y', 'ὕ' => 'y',
|
|
|
366 |
'ὖ' => 'y', 'ὗ' => 'y', 'ὺ' => 'y', 'ῠ' => 'y', 'ῡ' => 'y', 'ῢ' => 'y',
|
|
|
367 |
'ῦ' => 'y', 'ῧ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'p', 'ω' => 'o',
|
|
|
368 |
'ώ' => 'o', 'ὠ' => 'o', 'ὡ' => 'o', 'ὢ' => 'o', 'ὣ' => 'o', 'ὤ' => 'o',
|
|
|
369 |
'ὥ' => 'o', 'ὦ' => 'o', 'ὧ' => 'o', 'ᾠ' => 'o', 'ᾡ' => 'o', 'ᾢ' => 'o',
|
|
|
370 |
'ᾣ' => 'o', 'ᾤ' => 'o', 'ᾥ' => 'o', 'ᾦ' => 'o', 'ᾧ' => 'o', 'ὼ' => 'o',
|
|
|
371 |
'ῲ' => 'o', 'ῳ' => 'o', 'á¿´' => 'o', 'á¿¶' => 'o', 'á¿·' => 'o', 'Ð' => 'A',
|
|
|
372 |
'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E',
|
|
|
373 |
'Ж' => 'Z', 'З' => 'Z', 'И' => 'I', 'Й' => 'I', 'К' => 'K', 'Л' => 'L',
|
|
|
374 |
'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S',
|
|
|
375 |
'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'K', 'Ц' => 'T', 'Ч' => 'C',
|
|
|
376 |
'Ш' => 'S', 'Щ' => 'S', 'Ы' => 'Y', 'Э' => 'E', 'Ю' => 'Y', 'Я' => 'Y',
|
|
|
377 |
'а' => 'A', 'б' => 'B', 'в' => 'V', 'г' => 'G', 'д' => 'D', 'е' => 'E',
|
|
|
378 |
'ё' => 'E', 'ж' => 'Z', 'з' => 'Z', 'и' => 'I', 'й' => 'I', 'к' => 'K',
|
|
|
379 |
'л' => 'L', 'м' => 'M', 'н' => 'N', 'о' => 'O', 'п' => 'P', 'р' => 'R',
|
|
|
380 |
'с' => 'S', 'т' => 'T', 'у' => 'U', 'ф' => 'F', 'х' => 'K', 'ц' => 'T',
|
|
|
381 |
'ч' => 'C', 'ш' => 'S', 'щ' => 'S', 'ы' => 'Y', 'э' => 'E', 'ю' => 'Y',
|
|
|
382 |
'я' => 'Y', 'ð' => 'd', 'Ð' => 'D', 'þ' => 't', 'Þ' => 'T', 'ა' => 'a',
|
|
|
383 |
'ბ' => 'b', 'გ' => 'g', 'დ' => 'd', 'ე' => 'e', 'ვ' => 'v', 'ზ' => 'z',
|
|
|
384 |
'თ' => 't', 'ი' => 'i', 'კ' => 'k', 'ლ' => 'l', 'მ' => 'm', 'ნ' => 'n',
|
|
|
385 |
'ო' => 'o', 'პ' => 'p', 'ჟ' => 'z', 'რ' => 'r', 'ს' => 's', 'ტ' => 't',
|
|
|
386 |
'უ' => 'u', 'ფ' => 'p', 'ქ' => 'k', 'ღ' => 'g', 'ყ' => 'q', 'შ' => 's',
|
|
|
387 |
'ჩ' => 'c', 'ც' => 't', 'ძ' => 'd', 'წ' => 't', 'ჭ' => 'c', 'ხ' => 'k',
|
|
|
388 |
'ჯ' => 'j', 'ჰ' => 'h', 'ţ' => 't', 'ʼ' => "'", '̧' => '', 'ḩ' => 'h',
|
|
|
389 |
'‘' => "'", '’' => "'", 'ừ' => 'u', '/' => '', 'ế' => 'e', 'ả' => 'a',
|
|
|
390 |
'ị' => 'i', 'áº' => 'a', 'ệ' => 'e', 'ỉ' => 'i', 'ồ' => 'o', 'á»' => 'e',
|
|
|
391 |
'ơ' => 'o', 'ạ' => 'a', 'ẵ' => 'a', 'ư' => 'u', 'ằ' => 'a', 'ầ' => 'a',
|
|
|
392 |
'ḑ' => 'd', 'Ḩ' => 'H', 'á¸' => 'D', 'È™' => 's', 'È›' => 't', 'á»™' => 'o',
|
|
|
393 |
'ắ' => 'a', 'ş' => 's', "'" => '', 'ու' => 'u', 'ա' => 'a', 'բ' => 'b',
|
|
|
394 |
'Õ£' => 'g', 'Õ¤' => 'd', 'Õ¥' => 'e', 'Õ¦' => 'z', 'Õ§' => 'e', 'Õ¨' => 'y',
|
|
|
395 |
'Õ©' => 't', 'Õª' => 'zh', 'Õ«' => 'i', 'Õ¬' => 'l', 'Õ' => 'kh', 'Õ®' => 'ts',
|
|
|
396 |
'Õ¯' => 'k', 'Õ°' => 'h', 'Õ±' => 'dz', 'Õ²' => 'gh', 'Õ³' => 'ch', 'Õ´' => 'm',
|
|
|
397 |
'Õµ' => 'y', 'Õ¶' => 'n', 'Õ·' => 'sh', 'Õ¸' => 'o', 'Õ¹' => 'ch', 'Õº' => 'p',
|
|
|
398 |
'Õ»' => 'j', 'Õ¼' => 'r', 'Õ½' => 's', 'Õ¾' => 'v', 'Õ¿' => 't', 'Ö€' => 'r',
|
|
|
399 |
'Ö' => 'ts', 'Öƒ' => 'p', 'Ö„' => 'q', 'Ö‡' => 'ev', 'Ö…' => 'o', 'Ö†' => 'f',
|
|
|
400 |
];
|
|
|
401 |
$arrayFrom = array_keys($transliterationTable);
|
|
|
402 |
$arrayTo = array_values($transliterationTable);
|
|
|
403 |
}
|
|
|
404 |
|
|
|
405 |
return str_replace($arrayFrom, $arrayTo, $string);
|
|
|
406 |
}
|
|
|
407 |
}
|