Alexey
меня тоже порой угарает, когда люди пишут код "примерно"
Alexey
типа ну "похоже ведь!"
Pavel
😂😂😂
Alexander
Потом получается кучка говнокода, которую рано или поздно придётся пересмотреть и переписать)
Pavel
Потом получается кучка говнокода, которую рано или поздно придётся пересмотреть и переписать)
Кучка говнокода иногда получается даже если вдумчиво писать код, а уж с подходом описанным выше вообще не представляю что получается)
Миша
@bezumkin Василий, подскажи плиз, в комментариях к тикетам идут поля text и raw. А что за что отвечает? Я просто вроде как вижу, что text
Миша
это обработнные вроде
Георгий
Ребят, подскажите где можно глянуть лог какие работы били сделаны специалистом по сайту?
Георгий
Есть у кого в загашнике скрипт форматирования телефонов по формату?
Георгий
нето
Георгий
у меня есть 1к+ телефонов, записанных в разных форматах. Нужно сделать 1
Георгий
формат)
Anonymous
у меня есть 1к+ телефонов, записанных в разных форматах. Нужно сделать 1
Самый простой способ это пройти по всем и удалить всё кроме цифр.
Георгий
смотри. Яндекс требует формат 79991234567, а телефон записан 8 916 1234567 и т.д.
Георгий
комбинаций много
Anonymous
код страны один?
Sergey
тогда только регуляркой...
Anonymous
О, мне прям интересно как Вы будете регуляркой проверять первый символ
Anonymous
Ну у человека номера телефонов начинаются на 8, их нужно очистить от других символов и банально 8 заменить на 7
Anonymous
Зачем тут регулярка?
Георгий
смотри. Яндекс требует формат 79991234567, а телефон записан 8 916 1234567 и т.д.
в обычном блокноте вроде можно менять первый символ и так же удалять лишние пробелы
Георгий
+38 gjgflf.ncz nj;t)
Георгий
попадаются
Anonymous
сначала удалить всё кроме цифр и отсечь последние 10 символов
Pavel
+38 gjgflf.ncz nj;t)
substr используй и смотри какой символ после чего форматируй
Anonymous
сначала удалить всё кроме цифр и отсечь последние 10 символов
А если код не только российский? +38 это уже не россия
Anonymous
тогда засада
Anonymous
наверняка вариантов не много, сделать несколько проходов
Anonymous
Кстати, +38 тоже фактически верный формат, это международный формат
Георгий
+38 gjgflf.ncz nj;t)
+38 удали ну или просто +3
Anonymous
С очень большой долей вероятности номера 8 *** только российские, так как только в России есть привычка так номера записывать.
Anonymous
может 0 быть для Украины
Anonymous
вообще правильный формат 0 выход на межгород 00 выход на международную линию
Anonymous
в белоруссии тоже
Давно уже не встречал людей которые номер расскаывают в формате 8 ***
Pavel
Давно уже не встречал людей которые номер расскаывают в формате 8 ***
Я и в России таких не встречал, все говорят с 9ки, а вот пишут кто как
Anonymous
8 быстрей записать, чем +7
Anonymous
а мы ленивые
Anonymous
https://www.mts.by/mobile/roaming/info/ ((:
Жесть, убивать нужно МТС, не проще ли всё объяснить в международном формате?
Pavel
Короче я бы поступил так: сначала отформатировал бы все российские номера, а потом других стран по очереди до тех пор, пока не будут отформатированы все номера
Георгий
у меня есть 1к+ телефонов, записанных в разных форматах. Нужно сделать 1
вообще по таким разным мелочам всегда иду на workzilla, там за рублей 300-500 тебе всё сделают. и к тому же пока не утвердишь что всё сделали как положенно денег не даешь.
Георгий
+ и блоками потом редачить
Pathologic
Жесть, убивать нужно МТС, не проще ли всё объяснить в международном формате?
скорее всего 8 из-за какого-то старого оборудования до сих пор используется
Anonymous
скорее всего 8 из-за какого-то старого оборудования до сих пор используется
Люди так привыкли на стационарных телефонах. 8 это межгород
Георгий
вот и я не понимаю этого бреда с восьмеркой
знаю что например если через IP телефонию звонить, например zadarma, там точно 8 только канает, +7 не идёт
Pavel
Ух, 500р, какой же ты молодец, целых 3 чашки кофе! :)
Pavel
Как раз хватит чтобы еще 12 строк написать)
Anonymous
если бы так было каждые 2 минуты, было бы круто
Георгий
нашел такое решение
Георгий
preg_replace('/[^[:digit:]]/', '', $phone);
Георгий
возвращает набор цифр в строке, а дальше уже играться со строкой)
Pavel
возвращает набор цифр в строке, а дальше уже играться со строкой)
Лол, так мы и обсуждали тут что делать с набором цифр в строке
Pavel
Никто и не обсуждал как удалить лишние символы
Anonymous
потом 8 и 0 менять
Pathologic
preg_replace('/[^\d]+/', '', $phone)
Pavel
потом 8 и 0 менять
На что менять? Как определишь где на +7 а где на +3?
Artem
Ребята привет. Есть какое стандартное решение по выгрузке пользователей в csv или xls? И добавление полей для сортировки например такое поле как дата регистрации?
Anonymous
8 на +7 а 0 на +38 скорее всего не ошибешься
Pavel
Выбирай не хочу
Sergey
О, мне прям интересно как Вы будете регуляркой проверять первый символ
Я не знаю, может примитивно и не универсально... но так, на вскиду не особо вдумываясь (я не особо в них шарю): RegEx: /^.?([7-8]{1}).?([\d]{3}).?([\d]{3}).?([\d]{2}).?([\d]{2})/gm Repl: +7 ($2) $3-$4-$5 Приведёт телефоны: 8 916 123 45 67 7 916 123-45-67 +7 (705) 578-87-58 +7 916 1234567 8(916)123-45-67 87545487542 7 754 875 54 24 К виду: +7 (916) 123-45-67 +7 (916) 123-45-67 +7 (705) 578-87-58 +7 (916) 123-45-67 +7 (916) 123-45-67 +7 (754) 548-75-42 +7 (754) 875-54-24
Artem
@slexkap благодарю
Георгий
На что менять? Как определишь где на +7 а где на +3?
только что проверил, в обычном блокноте ставишь Найти +7 или +3 и меняешь на что надо. Меняет даже если идёт +77777777777, меняет только +7
Георгий
Причем тут +3 и +7? Если мы обсуждали формат с 8кой, 8ка может быть не только в России
как вариант, сртируешь, в отдельные файлы +7, +3 и где начинается на 8 в первых двух удаляешь +7 и +3 в третьем варианте удаляешь первый символ
Георгий
потом все обьеденяешь и подставляешь в начало всё что тебе нужно
Георгий
Яснопонятно))
ну а что не так?))
Георгий
мож я чёт не догоняю)
Anonymous
+3 зачем удалять?
Pavel
мож я чёт не догоняю)
Чуть-чуть, забей, мы уже прошли этот момент)
Георгий
ок)
Pavel
Кстати придумал более оптимальный вариант, наверняка уже написан библиотеки позволяющие по номеру определить страну, легче сначала страну определить, а потом форматировать номер
Pavel
Вот
Pavel
https://github.com/googlei18n/libphonenumber
Pavel
Гугловская библиотека, думаю там все ок