chanlemomov1/app/Traits/PhoneNumber.php
2022-02-16 14:01:00 +07:00

165 lines
5.5 KiB
PHP

<?php
/**
*File name : PhoneNumber.php / Date: 10/27/2021 - 11:26 PM
*/
namespace App\Traits;
class PhoneNumber
{
//private $phonetype='CELL'; //CELL, HOME
private $arr_Prefix = [
'CELL' => [
'016966' => '03966',
'0169' => '039',
'0168' => '038',
'0167' => '037',
'0166' => '036',
'0165' => '035',
'0164' => '034',
'0163' => '033',
'0162' => '032',
'0120' => '070',
'0121' => '079',
'0122' => '077',
'0126' => '076',
'0128' => '078',
'0123' => '083',
'0124' => '084',
'0125' => '085',
'0127' => '081',
'0129' => '082',
'01992' => '059',
'01993' => '059',
'01998' => '059',
'01999' => '059',
'0186' => '056',
'0188' => '058',
],
// 'HOME' => [
// '076' => '0296',
// '064' => '0254',
// '0281' => '0209',
// '0240' => '0204',
// '0781' => '0291',
// '0241' => '0222',
// '075' => '0275',
// '056' => '0256',
// '0650' => '0274',
// '0651' => '0271',
// '062' => '0252',
// '0780' => '0290',
// '0710' => '0292',
// '026' => '0206',
// '0511' => '0236',
// '0500' => '0262',
// '0501' => '0261',
// '0230' => '0215',
// '061' => '0251',
// '067' => '0277',
// '059' => '0269',
// '0351' => '0226',
// '04' => '024',
// '039' => '0239',
// '0320' => '0220',
// '031' => '0225',
// '0711' => '0293',
// '08' => '028',
// '0321' => '0221',
// '058' => '0258',
// '077' => '0297',
// '060' => '0260',
// '0231' => '0213',
// '063' => '0263',
// '025' => '0205',
// '020' => '0214',
// '072' => '0272',
// '0350' => '0228',
// '038' => '0238',
// '030' => '0229',
// '068' => '0259',
// '057' => '0257',
// '052' => '0232',
// '0510' => '0235',
// '055' => '0255',
// '033' => '0203',
// '053' => '0233',
// '079' => '0299',
// '022' => '0212',
// '066' => '0276',
// '036' => '0227',
// '0280' => '0208',
// '037' => '0237',
// '054' => '0234',
// '073' => '0273',
// '074' => '0294',
// '027' => '0207',
// '070' => '0270',
// '029' => '0216',
// ],
];
function convert($phonenumber, $convertOld = false)
{
if (!empty($phonenumber)) {
//1. Xóa ký tự trắng
$phonenumber = str_replace(' ', '', $phonenumber);
//2. Xóa các dấu chấm phân cách
$phonenumber = str_replace('.', '', $phonenumber);
//3. Xóa các dấu gạch nối phân cách
$phonenumber = str_replace('-', '', $phonenumber);
//4. Xóa dấu mở ngoặc đơn
$phonenumber = str_replace('(', '', $phonenumber);
//5. Xóa dấu đóng ngoặc đơn
$phonenumber = str_replace(')', '', $phonenumber);
//6. Xóa dấu +
$phonenumber = str_replace('+', '', $phonenumber);
//7. Chuyển 84 đầu thành 0
if (substr($phonenumber, 0, 2) == '84') {
$phonenumber = '0'.substr($phonenumber, 2, strlen($phonenumber) - 2);
}
$dathaythe = false;
// foreach ($this->arr_Prefix['HOME'] as $key => $value) {
// //$prefixlen=strlen($key);
// dd($key);
// if (strpos($phonenumber, $key) === 0) {
// $prefix = $key;
// $prefixlen = strlen($key);
// $phone = substr($phonenumber, $prefixlen, strlen($phonenumber) - $prefixlen);
// $prefix = str_replace($key, $value, $prefix);
// $phonenumber = $prefix.$phone;
// dd($phonenumber);
// //$phonenumber=str_replace($key,$value,$phonenumber);
// $dathaythe = true;
// break;
// }
// }
if ($dathaythe == false) {
$arrayPrefix = $convertOld ? array_flip($this->arr_Prefix['CELL']) : $this->arr_Prefix['CELL'];
foreach ($arrayPrefix as $key => $value) {
//$prefixlen=strlen($key);
if (strpos($phonenumber, $key) === 0) {
$prefix = $key;
$prefixlen = strlen($key);
$phone = substr($phonenumber, $prefixlen, strlen($phonenumber) - $prefixlen);
$prefix = str_replace($key, $value, $prefix);
$phonenumber = $prefix.$phone;
//$phonenumber=str_replace($key,$value,$phonenumber);
$dathaythe = true;
break;
}
}
}
return $phonenumber;
} else {
return false;
}
}
}