Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.75 KB | None | 0 0
  1. <?php
  2.  
  3. function format_cellphone($InputNumber=null) {
  4.  
  5.     $CountryCodes = Array(  'AF'=>93,'AL'=>355,'DZ'=>213,'AS'=>684,'AD'=>376,'AO'=>244,
  6.                 'AI'=>1,'AQ'=>672,'AG'=>1,'AR'=>54,'AM'=>374,'AW'=>297,
  7.                 'AU'=>61,'AZ'=>994,'BS'=>1,'BH'=>973,'BD'=>880,'BB'=>1,
  8.                 'BE'=>32,'BZ'=>501,'BJ'=>229,'BM'=>1,'BT'=>975,'BO'=>591,
  9.                 'BA'=>387,'BW'=>267,'BR'=>55,'VG'=>1,'BN'=>673,'BG'=>359,
  10.                 'BF'=>226,'MM'=>95,'BI'=>257,'KY'=>1,'CF'=>236,'CL'=>56,
  11.                 'CO'=>57,'KM'=>269,'CK'=>682,'CR'=>506,'CY'=>357,'DK'=>45,
  12.                 'DJ'=>253,'DM'=>1,'DO'=>1,'EC'=>593,'EG'=>20,'GQ'=>240,
  13.                 'SV'=>503,'CI'=>225,'ER'=>291,'EE'=>372,'ET'=>251,'FK'=>500,
  14.                 'FJ'=>679,'PH'=>63,'FI'=>358,'FR'=>33,'GF'=>594,'PF'=>689,
  15.                 'FO'=>298,'AE'=>971,'GA'=>241,'GM'=>220,'GE'=>995,'GH'=>233,
  16.                 'GI'=>350,'GR'=>30,'GD'=>1,'GL'=>299,'GP'=>590,'GT'=>502,
  17.                 'GN'=>224,'GW'=>245,'GY'=>592,'HT'=>509,'HN'=>504,'HK'=>852,
  18.                 'IN'=>91,'ID'=>62,'IQ'=>964,'IR'=>98,'IE'=>353,'IS'=>354,
  19.                 'IL'=>972,'IT'=>39,'JM'=>1,'JP'=>81,'JO'=>962,'KH'=>855,
  20.                 'CM'=>237,'CA'=>1,'CV'=>238,'KZ'=>7,'KE'=>254,'CN'=>86,
  21.                 'KG'=>996,'KI'=>686,'CG'=>242,'HR'=>385,'CU'=>53,'KW'=>965,
  22.                 'LA'=>856,'LS'=>266,'LV'=>371,'LB'=>961,'LR'=>231,'LY'=>218,
  23.                 'LI'=>423,'LT'=>370,'LU'=>352,'MO'=>853,'MG'=>261,'MK'=>389,
  24.                 'MW'=>265,'MY'=>60,'MV'=>960,'ML'=>223,'MT'=>356,'MA'=>212,
  25.                 'MH'=>692,'MQ'=>596,'MR'=>222,'MU'=>230,'YT'=>262,'MX'=>52,
  26.                 'FM'=>691,'MD'=>373,'MC'=>377,'MN'=>976,'ME'=>382,'MS'=>1,
  27.                 'NA'=>264,'NR'=>674,'NL'=>31,'AN'=>599,'NP'=>977,'NI'=>505,
  28.                 'NE'=>227,'NG'=>234,'NU'=>683,'KP'=>850,'MP'=>1,'NF'=>672,
  29.                 'NO'=>47,'NC'=>687,'NZ'=>64,'OM'=>968,'PK'=>92,'PW'=>680,
  30.                 'PA'=>507,'PG'=>675,'PY'=>595,'PE'=>51,'PL'=>48,'PT'=>351,
  31.                 'QA'=>974,'RO'=>40,'RW'=>250,'RU'=>7,'KN'=>1,'LC'=>1,'PM'=>508,
  32.                 'VC'=>1,'SB'=>677,'WS'=>685,'SM'=>378,'ST'=>239,'SA'=>966,
  33.                 'CH'=>41,'SN'=>221,'RS'=>381,'SC'=>248,'SL'=>232,'SG'=>65,
  34.                 'SK'=>421,'SI'=>386,'SO'=>252,'ES'=>34,'LK'=>94,'GB'=>44,
  35.                 'SD'=>249,'SR'=>597,'SE'=>46,'SZ'=>268,'ZA'=>27,'KR'=>82,
  36.                 'SY'=>963,'TJ'=>992,'TW'=>886,'TZ'=>255,'TD'=>235,'TH'=>66,
  37.                 'CZ'=>420,'TG'=>228,'TK'=>690,'TO'=>676,'TT'=>1,'TN'=>216,
  38.                 'TR'=>90,'TM'=>993,'TV'=>688,'DE'=>49,'UG'=>256,'UA'=>380,
  39.                 'HU'=>36,'UY'=>598,'US'=>1,'UZ'=>998,'VU'=>678,'VA'=>379,
  40.                 'VE'=>58,'VN'=>84,'BY'=>375,'WF'=>681,'YE'=>967,'ZM'=>260,
  41.                 'ZW'=>263,'AT'=>43,'TP'=>670,'CD'=>243);
  42.  
  43.     $InputNumber = preg_replace("%[^0-9+]%", '', $InputNumber);
  44.     $CellphoneIntSE = Array('070'=>1,'072'=>2,'073'=>2,'076'=>2);
  45.     $Standard = null;
  46.     if(isset($CellphoneIntSE[substr($InputNumber,0,3)])) {
  47.         $CountryCode = 46;
  48.         $Number = substr($InputNumber,1);
  49.         $Standard = $CellphoneIntSE[substr($InputNumber,0,3)];
  50.     } else {
  51.         if(substr($InputNumber,0,2) == '00') { $InputNumber = '+' . substr($InputNumber,2); }
  52.         if(substr($InputNumber,0,1) == '+') {
  53.             $InputNumber = '+' . ltrim($InputNumber, '+');
  54.             if(substr($InputNumber,0,3) == '+46') {
  55.                 if(isset($CellphoneIntSE['0'.substr($InputNumber,3,2)])) {
  56.                     $CountryCode = 46;
  57.                     $Number = substr($InputNumber,3);
  58.                     $Standard = $CellphoneIntSE['0'.substr($InputNumber,3,2)];
  59.                 }
  60.             } else {
  61.                 foreach($CountryCodes as $cc => $num) {
  62.                     if(if_first_strs(substr($InputNumber,1),$num)) {
  63.                         $CountryCode = $num;
  64.                         $Number = substr($InputNumber,strlen($num)+1);
  65.                         $Int = '+' . $CountryCode . '(0)';
  66.                         break;
  67.                     }
  68.                 }
  69.             }
  70.         }
  71.     }
  72.     if(isset($Number)) {
  73.         if($Standard) {
  74.             $Nmi = ($Standard == 1) ? 2 : 3;
  75.             $Int = '0' . substr($Number,0,$Nmi) . '-';
  76.             $Number = ($Standard == 1) ? substr($Number,2,3) . ' ' . wordwrap(substr($Number,5), 2, ' ', true) : wordwrap(substr($Number,3), 2, ' ', true);
  77.         } else {
  78.             $Number = wordwrap($Number, 3, ' ', true);
  79.         }
  80.         return $Int . $Number;
  81.     }
  82. }
  83.  
  84. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement