• 22-03-2018, 22:52:36
    #1
    Elinizdeki telefon numaraları bazen formatsız bazen de istemediğiniz karakterler ile formatlanmış şekilde olabilir .
    Bu durum ciddi ölçüde canınızı sıkabilir.
    Sizlere kolaylık olması açısından bir fonksiyon hazırlayıp ondan geçirdiğinizde istediğiniz şekilde formatlanmış olarak sonuca ulaşabilirsiniz.
    İşinize yarayacağını düşündüğüm telefon numarası formatlama fonksiyonunu sizlerle paylaşıyorum umarım faydası olur.


    Kodları eklemeye çalıştım lakin bazı karekterlerden dolayı eklenmeme izin verilmedi. Konunun orjinal linkine buradan ulaşabilirsiniz.
    Gerekli açıklamaları zaten kodların içerisnde mevcut , takıldığınız yerde sormaktan çekinmeyiniz



    İyi günlerde kullanmanız amacıyla...

    Sağlıkla ve sevgiyle kalın...
  • 22-03-2018, 22:54:52
    #2
    Teşekkürler hocam.
  • 22-03-2018, 23:08:40
    #3
    function phone_number($number) {
        $result = preg_replace('~.*(\d{4})[^\d]{0,3}(\d{3})[\d]{0,2}(\d{2})[\d]{0,2}(\d{2}).*~', '$1 $2 $3 $4', $number);
        return $result;
    }
    phone_number(05126549800);
    alternatif kullanmak isteyen olursa kullanabilir daha kısa ve öz
  • 22-03-2018, 23:16:06
    #4
    truser adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam.
    Rica ederim.

    D62 adlı üyeden alıntı: mesajı görüntüle
    function phone_number($number) {
        $result = preg_replace('~.*(\d{4})[^\d]{0,3}(\d{3})[\d]{0,2}(\d{2})[\d]{0,2}(\d{2}).*~', '$1 $2 $3 $4', $number);
        return $result;
    }
    phone_number(05126549800);
    alternatif kullanmak isteyen olursa kullanabilir daha kısa ve öz
    Herkes regex bilmiyor ne yazık ki, ayrıca benim kodun çıktısı
    //Çıktı : (555) 444-3322
    şeklinde
  • 22-03-2018, 23:18:34
    #5
    mtlive adlı üyeden alıntı: mesajı görüntüle
    Rica ederim.


    Herkes regex bilmiyor ne yazık ki, ayrıca benim kodun çıktısı
    //Çıktı : (555) 444-3322
    şeklinde
    doğru olabilir fakat aynı çıktıyı bende düzenleyip aynı şekle koyabilirim bu sorun değil bence ?
    ben sadece daha az kod ile de yapılabilir demek istedim , isteyen kullanabilir yani zor bir şey değil (555) xxx-xxxxx yapması
    iyi forumlar
  • 22-03-2018, 23:34:39
    #6
    D62 adlı üyeden alıntı: mesajı görüntüle
    doğru olabilir fakat aynı çıktıyı bende düzenleyip aynı şekle koyabilirim bu sorun değil bence ?
    ben sadece daha az kod ile de yapılabilir demek istedim , isteyen kullanabilir yani zor bir şey değil (555) xxx-xxxxx yapması
    iyi forumlar
    tabiki kesinlikle haklısın ben ironi yapmaya çalıştım sistemlerde ne kadar az kod çalışırsa o kadar iyidir tabi lakin ezbere yapmak başka yaparken mantığını görüp yapmak başka regex çok güzel bir nimet kullanımını bilen için tabiki
    iyi forumlar
  • 23-03-2018, 05:02:06
    #7
    mtlive adlı üyeden alıntı: mesajı görüntüle
    Elinizdeki telefon numaraları bazen formatsız bazen de istemediğiniz karakterler ile formatlanmış şekilde olabilir .
    Bu durum ciddi ölçüde canınızı sıkabilir.
    Sizlere kolaylık olması açısından bir fonksiyon hazırlayıp ondan geçirdiğinizde istediğiniz şekilde formatlanmış olarak sonuca ulaşabilirsiniz.
    İşinize yarayacağını düşündüğüm telefon numarası formatlama fonksiyonunu sizlerle paylaşıyorum umarım faydası olur.


    Kodları eklemeye çalıştım lakin bazı karekterlerden dolayı eklenmeme izin verilmedi. Konunun orjinal linkine buradan ulaşabilirsiniz.
    Gerekli açıklamaları zaten kodların içerisnde mevcut , takıldığınız yerde sormaktan çekinmeyiniz



    İyi günlerde kullanmanız amacıyla...

    Sağlıkla ve sevgiyle kalın...
    D62 adlı üyeden alıntı: mesajı görüntüle
    function phone_number($number) {
        $result = preg_replace('~.*(\d{4})[^\d]{0,3}(\d{3})[\d]{0,2}(\d{2})[\d]{0,2}(\d{2}).*~', '$1 $2 $3 $4', $number);
        return $result;
    }
    phone_number(05126549800);
    alternatif kullanmak isteyen olursa kullanabilir daha kısa ve öz
    function phone_number($number) {
        return preg_replace('/([^\d]*)(\d*)[^\d]*(\d{3})[^\d]*(\d{2})[^\d]*(\d{2})([^\d]*)/', '$2 $3-$4-$5', $number);
    }
    Desteklenen numara formatları;
    5421234567
    05421234567
    +905421234567
    CoLLeR5421234567CoLLeR
    +90542 123 45  67
    CoLLeR+90542 123 4567CoLLeR
    CoLLeR   +90542 123 45  67CoLLeR
    pattern ile oynanarak veya preg_replace_callback ile biraz daha geliştirilebilir.

    İyi forumlar.
  • 23-03-2018, 06:01:39
    #8
    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    function phone_number($number) {
        return preg_replace('/([^\d]*)(\d*)[^\d]*(\d{3})[^\d]*(\d{2})[^\d]*(\d{2})([^\d]*)/', '$2 $3-$4-$5', $number);
    }
    Desteklenen numara formatları;
    5421234567
    05421234567
    +905421234567
    CoLLeR5421234567CoLLeR
    +90542 123 45  67
    CoLLeR+90542 123 4567CoLLeR
    CoLLeR   +90542 123 45  67CoLLeR
    pattern ile oynanarak veya preg_replace_callback ile biraz daha geliştirilebilir.

    İyi forumlar.
    Geliştirmeye açık zaten isteyen dilediği formata koyabilir biraz oynama ile
    İyi forumlar
  • 23-03-2018, 15:31:33
    #9
    Teşekkürler