function phoneBringFormat($phone=false) {//"+7(XXX)-XXXXXXX" if (($phone."") != "") { $phoneQuery = $phone; $phone = trim($phone); $phone = str_replace(array("(",")"," ","-","–","‒"),"",$phone);//21.02.2023 в массив в этой строке был добавлен последним элементом дефис который отличается от предыдущего дефиса, а позже в этот же день был добавлен ещё вариант дефиса последним элементом в массив $phoneLen = strlen($phone); if (($phoneLen > 2) and (substr($phone,0,2) == "+7")) {$phone = substr($phone,2);$phoneLen -= 2;} if (($phoneLen == 11) and ((substr($phone,0,1) == "8") or (substr($phone,0,1) == "7"))) {$phone = substr($phone,1);$phoneLen -= 1;} if (($phoneLen == 10) and ((is_numeric($phone) and (($phone * 1) === ((int) $phone))))) { return "+7-(" . substr($phone,0,3) . ")-" . substr($phone,3); } } return false; } Следующая функция так же проверяет номер телефона Казахстана function phoneBringFormat($phone=false) {//"+7(XXX)-XXXXXXX"(Россия и Казахстан) или +375XXXXXXXXX(Белорусия) if (($phone."") != "") { $phoneQuery = $phone; $phone = trim($phone); $phoneLen = strlen($phone); $phone = str_replace(array("(",")"," ","-","–","‒"),"",$phone);//21.02.2023 в массив в этой строке был добавлен последним элементом дефис который отличается от предыдущего дефиса, а позже в этот же день был добавлен ещё вариант дефиса последним элементом в массив $phoneLen = strlen($phone); if (($phoneLen == 13) and (substr($phone,0,4) == "+375") and (is_numeric($tmp = substr($phone,4))) and (($tmp * 1) === ((int) $tmp))) {return "+375$tmp";}//Эта строчка для проверки номеров Белорусии и приведения номеров этой страны к формату +375XXXXXXXXX if (($phoneLen > 2) and (substr($phone,0,2) == "+7")) {$phone = substr($phone,2);$phoneLen -= 2;} if (($phoneLen == 11) and ((substr($phone,0,1) == "8") or (substr($phone,0,1) == "7"))) {$phone = substr($phone,1);$phoneLen -= 1;} if (($phoneLen == 10) and ((is_numeric($phone) and (($phone * 1) === ((int) $phone))))) { return "+7-(" . substr($phone,0,3) . ")-" . substr($phone,3); } } return false; }