Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Faker\Provider;class Internet extends Base{protected static $freeEmailDomain = ['gmail.com', 'yahoo.com', 'hotmail.com'];protected static $tld = ['com', 'com', 'com', 'com', 'com', 'com', 'biz', 'info', 'net', 'org'];protected static $userNameFormats = ['{{lastName}}.{{firstName}}','{{firstName}}.{{lastName}}','{{firstName}}##','?{{lastName}}',];protected static $emailFormats = ['{{userName}}@{{domainName}}','{{userName}}@{{freeEmailDomain}}',];protected static $urlFormats = ['http://www.{{domainName}}/','http://{{domainName}}/','http://www.{{domainName}}/{{slug}}','http://www.{{domainName}}/{{slug}}','https://www.{{domainName}}/{{slug}}','http://www.{{domainName}}/{{slug}}.html','http://{{domainName}}/{{slug}}','http://{{domainName}}/{{slug}}','http://{{domainName}}/{{slug}}.html','https://{{domainName}}/{{slug}}.html',];/*** @see https://tools.ietf.org/html/rfc1918#section-3*/protected static $localIpBlocks = [['10.0.0.0', '10.255.255.255'],['172.16.0.0', '172.31.255.255'],['192.168.0.0', '192.168.255.255'],];/*** @example 'jdoe@acme.biz'** @return string*/public function email(){$format = static::randomElement(static::$emailFormats);return $this->generator->parse($format);}/*** @example 'jdoe@example.com'** @return string*/final public function safeEmail(){return preg_replace('/\s/u', '', $this->userName() . '@' . static::safeEmailDomain());}/*** @example 'jdoe@gmail.com'** @return string*/public function freeEmail(){return preg_replace('/\s/u', '', $this->userName() . '@' . static::freeEmailDomain());}/*** @example 'jdoe@dawson.com'** @return string*/public function companyEmail(){return preg_replace('/\s/u', '', $this->userName() . '@' . $this->domainName());}/*** @example 'gmail.com'** @return string*/public static function freeEmailDomain(){return static::randomElement(static::$freeEmailDomain);}/*** @example 'example.org'** @return string*/final public static function safeEmailDomain(){$domains = ['example.com','example.org','example.net',];return static::randomElement($domains);}/*** @example 'jdoe'** @return string*/public function userName(){$format = static::randomElement(static::$userNameFormats);$username = static::bothify($this->generator->parse($format));$username = strtolower(static::transliterate($username));// check if transliterate() didn't support the language and removed all lettersif (trim($username, '._') === '') {throw new \Exception('userName failed with the selected locale. Try a different locale or activate the "intl" PHP extension.');}// clean possible trailing dots from first/last names$username = str_replace('..', '.', $username);$username = rtrim($username, '.');return $username;}/*** @example 'fY4èHdZv68'** @return string*/public function password($minLength = 6, $maxLength = 20){$pattern = str_repeat('*', $this->numberBetween($minLength, $maxLength));return $this->asciify($pattern);}/*** @example 'tiramisu.com'** @return string*/public function domainName(){return $this->domainWord() . '.' . $this->tld();}/*** @example 'faber'** @return string*/public function domainWord(){$lastName = $this->generator->format('lastName');$lastName = strtolower(static::transliterate($lastName));// check if transliterate() didn't support the language and removed all lettersif (trim($lastName, '._') === '') {throw new \Exception('domainWord failed with the selected locale. Try a different locale or activate the "intl" PHP extension.');}// clean possible trailing dot from last name$lastName = rtrim($lastName, '.');return $lastName;}/*** @example 'com'** @return string*/public function tld(){return static::randomElement(static::$tld);}/*** @example 'http://www.runolfsdottir.com/'** @return string*/public function url(){$format = static::randomElement(static::$urlFormats);return $this->generator->parse($format);}/*** @example 'aut-repellat-commodi-vel-itaque-nihil-id-saepe-nostrum'** @return string*/public function slug($nbWords = 6, $variableNbWords = true){if ($nbWords <= 0) {return '';}if ($variableNbWords) {$nbWords = (int) ($nbWords * self::numberBetween(60, 140) / 100) + 1;}$words = $this->generator->words($nbWords);return implode('-', $words);}/*** @example '237.149.115.38'** @return string*/public function ipv4(){return long2ip(Miscellaneous::boolean() ? self::numberBetween(-2147483648, -2) : self::numberBetween(16777216, 2147483647));}/*** @example '35cd:186d:3e23:2986:ef9f:5b41:42a4:e6f1'** @return string*/public function ipv6(){$res = [];for ($i = 0; $i < 8; ++$i) {$res[] = dechex(self::numberBetween(0, 65535));}return implode(':', $res);}/*** @example '10.1.1.17'** @return string*/public static function localIpv4(){$ipBlock = self::randomElement(static::$localIpBlocks);return long2ip(static::numberBetween(ip2long($ipBlock[0]), ip2long($ipBlock[1])));}/*** @example '32:F1:39:2F:D6:18'** @return string*/public static function macAddress(){$mac = [];for ($i = 0; $i < 6; ++$i) {$mac[] = sprintf('%02X', self::numberBetween(0, 0xff));}return implode(':', $mac);}protected static function transliterate($string){if (0 === preg_match('/[^A-Za-z0-9_.]/', $string)) {return $string;}$transId = 'Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;';if (class_exists(\Transliterator::class, false) && $transliterator = \Transliterator::create($transId)) {$transString = $transliterator->transliterate($string);} else {$transString = static::toAscii($string);}return preg_replace('/[^A-Za-z0-9_.]/u', '', $transString);}protected static function toAscii($string){static $arrayFrom, $arrayTo;if (empty($arrayFrom)) {$transliterationTable = ['IJ' => 'I', 'Ö' => 'O', 'Å’' => 'O', 'Ü' => 'U', 'ä' => 'a', 'æ' => 'a','ij' => 'i', 'ö' => 'o', 'Å“' => 'o', 'ü' => 'u', 'ß' => 's', 'Å¿' => 's','À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A','Æ' => 'A', 'Ä€' => 'A', 'Ä„' => 'A', 'Ä‚' => 'A', 'Ç' => 'C', 'Ć' => 'C','Č' => 'C', 'Ĉ' => 'C', 'Ċ' => 'C', 'Ď' => 'D', 'Đ' => 'D', 'È' => 'E','É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ē' => 'E', 'Ę' => 'E', 'Ě' => 'E','Ä”' => 'E', 'Ä–' => 'E', 'Äœ' => 'G', 'Äž' => 'G', 'Ä ' => 'G', 'Ä¢' => 'G','Ĥ' => 'H', 'Ħ' => 'H', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I','Ī' => 'I', 'Ĩ' => 'I', 'Ĭ' => 'I', 'Ä®' => 'I', 'İ' => 'I', 'Ä´' => 'J','Ķ' => 'K', 'Ľ' => 'K', 'Ĺ' => 'K', 'Ä»' => 'K', 'Ä¿' => 'K', 'Å' => 'L','Ñ' => 'N', 'Ń' => 'N', 'Ň' => 'N', 'Å…' => 'N', 'ÅŠ' => 'N', 'Ã’' => 'O','Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ø' => 'O', 'Ō' => 'O', 'Ő' => 'O','ÅŽ' => 'O', 'Å”' => 'R', 'Ř' => 'R', 'Å–' => 'R', 'Åš' => 'S', 'Åž' => 'S','Åœ' => 'S', 'Ș' => 'S', 'Å ' => 'S', 'Ť' => 'T', 'Å¢' => 'T', 'Ŧ' => 'T','Ț' => 'T', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ū' => 'U', 'Ů' => 'U','Ű' => 'U', 'Ŭ' => 'U', 'Ũ' => 'U', 'Ų' => 'U', 'Å´' => 'W', 'Ŷ' => 'Y','Ÿ' => 'Y', 'Ý' => 'Y', 'Ź' => 'Z', 'Ż' => 'Z', 'Ž' => 'Z', 'à' => 'a','á' => 'a', 'â' => 'a', 'ã' => 'a', 'ā' => 'a', 'ą' => 'a', 'ă' => 'a','å' => 'a', 'ç' => 'c', 'ć' => 'c', 'č' => 'c', 'ĉ' => 'c', 'ċ' => 'c','ď' => 'd', 'đ' => 'd', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e','Ä“' => 'e', 'Ä™' => 'e', 'Ä›' => 'e', 'Ä•' => 'e', 'Ä—' => 'e', 'Æ’' => 'f','Ä' => 'g', 'ÄŸ' => 'g', 'Ä¡' => 'g', 'Ä£' => 'g', 'Ä¥' => 'h', 'ħ' => 'h','ì' => 'i', 'Ã' => 'i', 'î' => 'i', 'ï' => 'i', 'Ä«' => 'i', 'Ä©' => 'i','Ä' => 'i', 'į' => 'i', 'ı' => 'i', 'ĵ' => 'j', 'Ä·' => 'k', 'ĸ' => 'k','Å‚' => 'l', 'ľ' => 'l', 'ĺ' => 'l', 'ļ' => 'l', 'Å€' => 'l', 'ñ' => 'n','ń' => 'n', 'ň' => 'n', 'ņ' => 'n', 'ʼn' => 'n', 'ŋ' => 'n', 'ò' => 'o','ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ø' => 'o', 'ō' => 'o', 'ő' => 'o','ŏ' => 'o', 'ŕ' => 'r', 'ř' => 'r', 'ŗ' => 'r', 'ś' => 's', 'š' => 's','Å¥' => 't', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'Å«' => 'u', 'ů' => 'u','ű' => 'u', 'Å' => 'u', 'Å©' => 'u', 'ų' => 'u', 'ŵ' => 'w', 'ÿ' => 'y','ý' => 'y', 'Å·' => 'y', 'ż' => 'z', 'ź' => 'z', 'ž' => 'z', 'Α' => 'A','Ά' => 'A', 'Ἀ' => 'A', 'Ἁ' => 'A', 'Ἂ' => 'A', 'Ἃ' => 'A', 'Ἄ' => 'A','á¼' => 'A', 'Ἆ' => 'A', 'á¼' => 'A', 'ᾈ' => 'A', 'ᾉ' => 'A', 'ᾊ' => 'A','ᾋ' => 'A', 'ᾌ' => 'A', 'á¾' => 'A', 'ᾎ' => 'A', 'á¾' => 'A', 'Ᾰ' => 'A','á¾¹' => 'A', 'Ὰ' => 'A', 'á¾¼' => 'A', 'Î’' => 'B', 'Γ' => 'G', 'Δ' => 'D','Ε' => 'E', 'Έ' => 'E', 'Ἐ' => 'E', 'Ἑ' => 'E', 'Ἒ' => 'E', 'Ἓ' => 'E','Ἔ' => 'E', 'Ἕ' => 'E', 'Ὲ' => 'E', 'Ζ' => 'Z', 'Η' => 'I', 'Ή' => 'I','Ἠ' => 'I', 'Ἡ' => 'I', 'Ἢ' => 'I', 'Ἣ' => 'I', 'Ἤ' => 'I', 'á¼' => 'I','á¼®' => 'I', 'Ἧ' => 'I', 'ᾘ' => 'I', 'á¾™' => 'I', 'ᾚ' => 'I', 'á¾›' => 'I','ᾜ' => 'I', 'á¾' => 'I', 'ᾞ' => 'I', 'ᾟ' => 'I', 'Ὴ' => 'I', 'ῌ' => 'I','Θ' => 'T', 'Ι' => 'I', 'Ί' => 'I', 'Ϊ' => 'I', 'Ἰ' => 'I', 'Ἱ' => 'I','Ἲ' => 'I', 'á¼»' => 'I', 'á¼¼' => 'I', 'á¼½' => 'I', 'á¼¾' => 'I', 'Ἷ' => 'I','Ῐ' => 'I', 'Ῑ' => 'I', 'Ὶ' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M','Ν' => 'N', 'Ξ' => 'K', 'Ο' => 'O', 'Ό' => 'O', 'Ὀ' => 'O', 'Ὁ' => 'O','Ὂ' => 'O', 'Ὃ' => 'O', 'Ὄ' => 'O', 'á½' => 'O', 'Ὸ' => 'O', 'Î ' => 'P','Ρ' => 'R', 'Ῥ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Î¥' => 'Y', 'ÎŽ' => 'Y','Ϋ' => 'Y', 'á½™' => 'Y', 'á½›' => 'Y', 'á½' => 'Y', 'Ὗ' => 'Y', 'Ῠ' => 'Y','á¿©' => 'Y', 'Ὺ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'P', 'Ω' => 'O','Î' => 'O', 'Ὠ' => 'O', 'Ὡ' => 'O', 'Ὢ' => 'O', 'Ὣ' => 'O', 'Ὤ' => 'O','á½' => 'O', 'á½®' => 'O', 'Ὧ' => 'O', 'ᾨ' => 'O', 'ᾩ' => 'O', 'ᾪ' => 'O','ᾫ' => 'O', 'ᾬ' => 'O', 'á¾' => 'O', 'á¾®' => 'O', 'ᾯ' => 'O', 'Ὼ' => 'O','ῼ' => 'O', 'α' => 'a', 'ά' => 'a', 'á¼€' => 'a', 'á¼' => 'a', 'ἂ' => 'a','ἃ' => 'a', 'ἄ' => 'a', 'á¼…' => 'a', 'ἆ' => 'a', 'ἇ' => 'a', 'á¾€' => 'a','á¾' => 'a', 'ᾂ' => 'a', 'ᾃ' => 'a', 'ᾄ' => 'a', 'á¾…' => 'a', 'ᾆ' => 'a','ᾇ' => 'a', 'á½°' => 'a', 'á¾°' => 'a', 'á¾±' => 'a', 'á¾²' => 'a', 'á¾³' => 'a','á¾´' => 'a', 'á¾¶' => 'a', 'á¾·' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd','ε' => 'e', 'Î' => 'e', 'á¼' => 'e', 'ἑ' => 'e', 'á¼’' => 'e', 'ἓ' => 'e','á¼”' => 'e', 'ἕ' => 'e', 'á½²' => 'e', 'ζ' => 'z', 'η' => 'i', 'ή' => 'i','á¼ ' => 'i', 'ἡ' => 'i', 'á¼¢' => 'i', 'á¼£' => 'i', 'ἤ' => 'i', 'á¼¥' => 'i','ἦ' => 'i', 'á¼§' => 'i', 'á¾' => 'i', 'ᾑ' => 'i', 'á¾’' => 'i', 'ᾓ' => 'i','á¾”' => 'i', 'ᾕ' => 'i', 'á¾–' => 'i', 'á¾—' => 'i', 'á½´' => 'i', 'á¿‚' => 'i','ῃ' => 'i', 'á¿„' => 'i', 'ῆ' => 'i', 'ῇ' => 'i', 'θ' => 't', 'ι' => 'i','ί' => 'i', 'ÏŠ' => 'i', 'Î' => 'i', 'á¼°' => 'i', 'á¼±' => 'i', 'á¼²' => 'i','á¼³' => 'i', 'á¼´' => 'i', 'á¼µ' => 'i', 'á¼¶' => 'i', 'á¼·' => 'i', 'á½¶' => 'i','á¿' => 'i', 'á¿‘' => 'i', 'á¿’' => 'i', 'á¿–' => 'i', 'á¿—' => 'i', 'κ' => 'k','λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => 'k', 'ο' => 'o', 'ό' => 'o','á½€' => 'o', 'á½' => 'o', 'ὂ' => 'o', 'ὃ' => 'o', 'ὄ' => 'o', 'á½…' => 'o','ὸ' => 'o', 'Ï€' => 'p', 'Ï' => 'r', 'ῤ' => 'r', 'á¿¥' => 'r', 'σ' => 's','ς' => 's', 'τ' => 't', 'υ' => 'y', 'ύ' => 'y', 'ϋ' => 'y', 'ΰ' => 'y','á½' => 'y', 'ὑ' => 'y', 'á½’' => 'y', 'ὓ' => 'y', 'á½”' => 'y', 'ὕ' => 'y','á½–' => 'y', 'á½—' => 'y', 'ὺ' => 'y', 'á¿ ' => 'y', 'á¿¡' => 'y', 'á¿¢' => 'y','ῦ' => 'y', 'ῧ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'p', 'ω' => 'o','ÏŽ' => 'o', 'á½ ' => 'o', 'ὡ' => 'o', 'á½¢' => 'o', 'á½£' => 'o', 'ὤ' => 'o','á½¥' => 'o', 'ὦ' => 'o', 'á½§' => 'o', 'á¾ ' => 'o', 'ᾡ' => 'o', 'á¾¢' => 'o','á¾£' => 'o', 'ᾤ' => 'o', 'á¾¥' => 'o', 'ᾦ' => 'o', 'á¾§' => 'o', 'á½¼' => 'o','ῲ' => 'o', 'ῳ' => 'o', 'á¿´' => 'o', 'á¿¶' => 'o', 'á¿·' => 'o', 'Ð' => 'A','Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'E','Ж' => 'Z', 'З' => 'Z', 'И' => 'I', 'Й' => 'I', 'К' => 'K', 'Л' => 'L','М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S','Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'K', 'Ц' => 'T', 'Ч' => 'C','Ш' => 'S', 'Щ' => 'S', 'Ы' => 'Y', 'Э' => 'E', 'Ю' => 'Y', 'Я' => 'Y','а' => 'A', 'б' => 'B', 'в' => 'V', 'г' => 'G', 'д' => 'D', 'е' => 'E','ё' => 'E', 'ж' => 'Z', 'з' => 'Z', 'и' => 'I', 'й' => 'I', 'к' => 'K','л' => 'L', 'м' => 'M', 'н' => 'N', 'о' => 'O', 'п' => 'P', 'р' => 'R','с' => 'S', 'т' => 'T', 'у' => 'U', 'ф' => 'F', 'х' => 'K', 'ц' => 'T','ч' => 'C', 'ш' => 'S', 'щ' => 'S', 'ы' => 'Y', 'э' => 'E', 'ю' => 'Y','я' => 'Y', 'ð' => 'd', 'Ð' => 'D', 'þ' => 't', 'Þ' => 'T', 'ა' => 'a','ბ' => 'b', 'გ' => 'g', 'დ' => 'd', 'ე' => 'e', 'ვ' => 'v', 'ზ' => 'z','თ' => 't', 'ი' => 'i', 'კ' => 'k', 'ლ' => 'l', 'მ' => 'm', 'ნ' => 'n','ო' => 'o', 'პ' => 'p', 'ჟ' => 'z', 'რ' => 'r', 'ს' => 's', 'ტ' => 't','უ' => 'u', 'ფ' => 'p', 'ქ' => 'k', 'ღ' => 'g', 'ყ' => 'q', 'შ' => 's','ჩ' => 'c', 'ც' => 't', 'ძ' => 'd', 'წ' => 't', 'ჭ' => 'c', 'ხ' => 'k','ჯ' => 'j', 'ჰ' => 'h', 'Å£' => 't', 'ʼ' => "'", '̧' => '', 'ḩ' => 'h','‘' => "'", '’' => "'", 'ừ' => 'u', '/' => '', 'ế' => 'e', 'ả' => 'a','ị' => 'i', 'áº' => 'a', 'ệ' => 'e', 'ỉ' => 'i', 'ồ' => 'o', 'á»' => 'e','Æ¡' => 'o', 'ạ' => 'a', 'ẵ' => 'a', 'ư' => 'u', 'ằ' => 'a', 'ầ' => 'a','ḑ' => 'd', 'Ḩ' => 'H', 'á¸' => 'D', 'È™' => 's', 'È›' => 't', 'á»™' => 'o','ắ' => 'a', 'ÅŸ' => 's', "'" => '', 'Õ¸Ö‚' => 'u', 'Õ¡' => 'a', 'Õ¢' => 'b','Õ£' => 'g', 'Õ¤' => 'd', 'Õ¥' => 'e', 'Õ¦' => 'z', 'Õ§' => 'e', 'Õ¨' => 'y','Õ©' => 't', 'Õª' => 'zh', 'Õ«' => 'i', 'Õ¬' => 'l', 'Õ' => 'kh', 'Õ®' => 'ts','Õ¯' => 'k', 'Õ°' => 'h', 'Õ±' => 'dz', 'Õ²' => 'gh', 'Õ³' => 'ch', 'Õ´' => 'm','Õµ' => 'y', 'Õ¶' => 'n', 'Õ·' => 'sh', 'Õ¸' => 'o', 'Õ¹' => 'ch', 'Õº' => 'p','Õ»' => 'j', 'Õ¼' => 'r', 'Õ½' => 's', 'Õ¾' => 'v', 'Õ¿' => 't', 'Ö€' => 'r','Ö' => 'ts', 'Öƒ' => 'p', 'Ö„' => 'q', 'Ö‡' => 'ev', 'Ö…' => 'o', 'Ö†' => 'f',];$arrayFrom = array_keys($transliterationTable);$arrayTo = array_values($transliterationTable);}return str_replace($arrayFrom, $arrayTo, $string);}}