DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 25. 12. 2012.   #1
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default Parsiranje telefonskog broja

Možda neko već ima iskustva pa da priupitam, postoji li neka klasa i sl. koja bi pravilno parsirala telefonske brojeve kako bi se razdvojili pozivni za zemlju, lokalni pozivni i broj telefona, dakle da od +3816499234344 dobijem 381 64 99234344 razdvojeno. Naravno, da su svi na 381 bilo bi jednostavno, jesu većinom, ali ne svi. Takođe nema nekog pravila, brojevi mogu biti i samo lokalni, tipa 064444333 bez poziva za zemlju, ili npr. neko piše 00 na početku kao izlaz i sl.

Dakle dobijam raznorazne brojeve, a nekako bi da ih formatriram što bolje i uniformno. Ima neko neku ideju ili klasu ili da krenem peške od početka da pravim neki konvertor/parser?
mileusna je offline   Odgovorite uz citat
Staro 25. 12. 2012.   #2
kickloop
Mister
Master
 
Avatar kickloop
 
Datum učlanjenja: 25.11.2007
Poruke: 626
Hvala: 114
641 "Hvala" u 96 poruka
kickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskorokickloop će postati "faca" uskoro
Pošaljite poruku preko Skype™ za kickloop
Default

uh uh. ja sam odustao svojevremeno od te ideje. Ima i problem što broj može da bude šestocifren, sedmocifren. Učinilo mi se da nema ni jedna konstanta za koju možeš da se uhvatiš.

Ako nađeš neko rešenje budi ljubazan pa podeli
__________________
When you assume, you make an ass out of u and me
kickloop je offline   Odgovorite uz citat
Staro 26. 12. 2012.   #3
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

ja sam imao neke perl klase koje su prepoznavale tel. brojeve, uglavnom su bile uspesne... probacu da ih pronadjem na backupu, nisam sa tim radio godinama

U susutini nije to nuklearna fizika (ali je dosadan posao), samo treba pokriti vecinu standardnih nacina pisanja i samo se na njih koncentrise, ostale slucajeve samo markiras i resavas ih rucno. Po nekom mom iskustvu cim ima vise od 20-tak tih za rucno resavanje, mozes da nadjes neko pravilo i malo doradis logiku da ih handluje automatski, tako da na kraju kroz par iteracija skripta "nauci" da odradi 99% slucajeva...

EDIT: Ja sam koristio podatke sa ovog linka da bih znao koliko cifara ide u numeraciju u kojoj zemlji. To su zvanicni podaci za sve zemlje, a ti pokupis naravno one koje te zanimaju (meni je npr. trebala samo EU i US). Pobrisi sve delimiters i onda mozes da proveris relativno brzo na osnovu broja cifara jel to samo broj ili ima i area code ili je full broj. Za granicne slucajeve proveris jel postoji taj country i area code i da li se broj preostalih cifara uklapa u numeraciju... ne mozes uvek da budes 100% siguran, ali to cesto ne mozes ni rucno
__________________
Leadership is the art of getting people to want to do what you know must be done.

Poslednja izmena od ivanhoe : 26. 12. 2012. u 05:40.
ivanhoe je offline   Odgovorite uz citat
Staro 26. 12. 2012.   #4
tasmaniski
profesionalac
Professional
 
Datum učlanjenja: 08.11.2010
Poruke: 211
Hvala: 68
78 "Hvala" u 32 poruka
tasmaniski is on a distinguished road
Default

Ti hoćeš da parsiraš Long number - http://en.wikipedia.org/wiki/Long_number

Klasa za tako nesto ne postoji, ali je uvek možeš napraviti. Prvo ti treba lista svih CountryCod-ova
http://www.wtng.info/wtng-ctn.html (-npr.) posle za svaki CountryCode treba da imaš listu operatera u toj zemlji, to možeš uzeti ako parsiraš informacija sa nekih od sajtova kao što je clickatell.com i sl. ima ih dosta.

Postoji zvaničan format brojeva koji je u formatu 381631234567, bez + bez ' ' ili bilokakvih karaktera pa trimuj sve svoje brojeve. Standard se može se naći negde na vikipediji.

Kad imas sve te informacije možeš krenuti da pišes klasu koja ih koristi ....
Ceo broj možđe imati od 6 do 16 cifara, nisam 100% siguran i to možeš naći na wikipediji.
tasmaniski je offline   Odgovorite uz citat
Staro 26. 12. 2012.   #5
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

a ima i ova google klasa, ali samo za javu ili js..

http://code.google.com/p/libphonenumber/
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 27. 12. 2012.   #6
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Citat:
Originalno napisao ivanhoe Pogledajte poruku
a ima i ova google klasa, ali samo za javu ili js..

http://code.google.com/p/libphonenumber/
Izgleda da je neko preradio i za PHP:

https://github.com/davideme/libphonenumber-for-PHP

Videću kako radi.
mileusna je offline   Odgovorite uz citat
Staro 26. 12. 2012.   #7
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Ja našao dva gema za ruby, mora da ima i nešto za PHP, u krajnjoj liniji, možeš "pozajmiti" config neke od postojećih pa odraditi samo kod

https://github.com/habermann24/phone...ta/regions.yml
__________________
blog
jablan je offline   Odgovorite uz citat
"Hvala" jablan za poruku:
Odgovori



Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


Vreme je GMT +2. Trenutno vreme je 01:25.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.