Prvo, hvala svima koji pokušavaju pomoći, to se cijeni!
Dakle, nakon mucenja i mucenja, uspio sam doci do nekakvog ajmo reci malo normalnije formatiranog dumpa te baze. Ovako podaci izgledaju sad:
Code:
1000039 PONTIN društvo s ograničenom odgovornošću za ribarstvo,preradu ribe, trgovinu, turizam i usluge PONTIN D.O.O. 0600888913 1999070613Zadarska 5207 Zadar 71951 Zadar 23000Gaženička Cesta 32 5190019950217 999
1000101 B I R O M A D.O.O. ZA TRGOVINU UREDSKOM OPREMOM I KANCELARIJSKIM MATERIJALOM B I R O M A D.O.O. 080295620 1999052722Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000ČIKOŠEVA 8 5248119950213 999
1000217 OPORTUN d.o.o. za informatiku i trgovinu OPORTUN d.o.o. 0700381833 199902185 Varaždinska 2895 Novi Marof 46442 Paka 42220Paka 16 7222019950213 999
1000241 PERFETA D.O.O. ZA UNUTARNJU I VANJSKU TRGOVINU, ZASTUPANJE I POSREDOVANJE PERFETA D.O.O. 040088309 199709038 Primorsko-goranska 3735 Rijeka 55174 Rijeka 51000KAMPANJA 21 5190019950217 999
1000250 JERKUNICA, društvo s ograničenom odgovornošću za računovodstvene poslove, trgovinu i turizam JERKUNICA d.o.o. 0600905491 1998010917Splitsko-dalmatinska 4090 Split 59200 Split 21000Table 10 7412019950217318673 318673 999
1000268 UNISOFT D.O.O. ZA INFORMATIČKI INŽENJERING UNISOFT D.O.O. 040094970 1997100718Istarska 4685 Umag 66761 Umag 52470VLADIMIRA NAZORA 5 7222019950217 999
1000420 PREMIK društvo s ograničenom odgovornošću za trgovinu, graditeljstvo i ugostiteljstvo PREMIK d.o.o. 0801854972 200007031 Zagrebačka 345 Brdovec 25976 Javorje 10291Nova ulica 19 5190019950213 999
1000438 TERNO društvo s ograničenom odgovornošću za građevinarstvo i usluge TERNO d. o. o. 08128328 2 199804171 Zagrebačka 3620 Pušća 15512 Dubrava Pušćanska 10294Dubrovačka Cesta 49 4521119950213 999
1000454 JAGER D.O.O. ZA TRGOVINU I UGOSTITELJSTVO JAGER D.O.O. 040104006 199803028 Primorsko-goranska 3735 Rijeka 55174 Rijeka 51000RADIĆEVA 14 5190019950213 999
1000489 MADENA društvo s ograničenom odgovornošću za trgovinu i usluge MADENA d. o. o. 0400203444 200010048 Primorsko-goranska 3735 Rijeka 55174 Rijeka 51000Janka Polića Kamova 101 5190019950213450099 450200 999
1000560 GO - MO, D.O.O. ZA UGOSTITELJSTVO,TURIZAM I TRGOVINU GO - MO, D.O.O. 040043892 1997011618Istarska 4685 Umag 66761 Umag 52470MATTEA BENUSSIA 1 5540019950216 999
1000586 LITUS, društvo s ograničenom odgovornošću za proizvodnju, trgovinu i usluge LITUS, d.o.o. 0601255692 1999060518Istarska 3484 Poreč 50849 Poreč 52440Pulska 9 5190019950213434603 434603 999
1000632 NEAPOLIS, društvo s ograničenom odgovornošću za projektiranje, gradnju, upravljanje, prodaju i iznajmljivanje objekata, turizam, trgovina i export-import NEAPOLIS d.o.o. 0400915408 2004021618Istarska 2917 Novigrad 43982 Novigrad 52466Ulica Gradska Vrata 29 7420019950216 999
1000675 PRAGMA društvo s ograničenom odgovornošću za poslovne usluge PRAGMA d.o.o. 04006197 3 200003208 Primorsko-goranska 3735 Rijeka 55174 Rijeka 51000Bačvarska 1 4532019950214 999
1000713 VIZUAL d.o.o. za trgovinu i usluge VIZUAL d.o.o. 0300181282 2004022014Osječko-baranjska 3123 Osijek 45691 Osijek 31000Stjepana Radića 32 5190019950213 999
1000756 ŽE-PA, D.O.O. ZA PROIZVODNJU, TRGOVINU, UGOSTITELJSTVO I USLUGE ŽE-PA, D.O.O. 020019744 199611289 Ličko-senjska 3131 Otočac 46094 Otočac 53220KRALJA ZVONIMIRA 95 6024019950215 999
1000853 COMMERCE KLJAJIĆ D.O.O.ZA IZGRADNJU, TRGOVINU, USLUGE I UVOZ-IZVOZ COMMERCE KLJAJIĆ D.O.O. 050018602 1996050912Brodsko-posavska 108 Bebrina 72982 Zbjeg 35254 bb 4521119950216 999
1000870 URKA d.o.o. za trgovinu, turizam i usluge. URKA d.o.o. 0600270103 2005060719Dubrovačko-neretvanska 981 Dubrovnik 15709 Dubrovnik 20000Andrije Hebranga 33 5190019950214 999
1000993 EGMOND proizvodnja i promet robom, d.o.o. EGMOND d.o.o. 0400816193 199910298 Primorsko-goranska 698 Delnice 10634 Delnice 51300Kamenita 7 3110019950213812520 812520 999
1001019 MAKROSISTEM - INŽINJERING društvo s ograničenom odgovornošću za proizvodnju, unutrašnju i vanjsku trgovinu i usluge MAKROSISTEM - INŽINJERING d.o.o. 0802794961 1999031122Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Male Putine broj 2 7222019950213 999
1001027 MARLES KUĆE građevinarstvo, trgovina i usluge d.o.o. MARLES KUĆE d.o.o. 0600335904 2001010822Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Zrinjevac 16 4521119950213 999
1001051 Grafocentar d.o.o. za proizvodnju i trgovinu Grafocentar d.o.o. 0700387815 2003051520Međimurska 604 Čakovec 9024 Čakovec 40000Žrtava Fašizma 3 6713019950213 999
1001078 ZGN-PRODUCTION društvo s ograničenom odgovornošću za marketing i turizam ZGN-PRODUCTION d.o.o. 0600499231 1997051615Šibensko-kninska 4448 Šibenik 63118 Šibenik 22000Stjepana Radića 54 7440019950213 999
1001159 KERA-TECH društvo s ograničenom odgovornošću za građevinske, trgovačke i ugostiteljske usluge KERA-TECH d.o.o. 0802823445 2004090822Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Horvatovac 17 45430199502132988032 2988032 999
1001183 MRAK-PROMET UGOSTITELJSTVO I PRIJEVOZ D.O.O. MRAK-PROMET D.O.O. 010007523 199601187 Bjelovarsko-bilogorska 248 Bjelovar 3239 Bjelovar 43000DARUVARSKA 94 5530019950213 999
1001205 TERMO-METAL D.O.O. ZA PROIZVODNJU I TRGOVINU TERMO-METAL D.O.O. 050008673 1997081111Požeško-slavonska 3182 Pakrac 46493 Pakrac 34550TRG 76.BATALJUNA 5 5246019950213 999
1001248 SUNFLOWER, D.O.O. ZA TRGOVINU I USLUGE SUNFLOWER, D.O.O. 040123647 199804288 Primorsko-goranska 3735 Rijeka 55174 Rijeka 51000ANTE KOVAČIĆA 6 5190019950213 999
1001272 ELEKTROMEHANIKA BEN d.o.o. za servisiranje aparata za zavarivanje i usluge zavarivanja ELEKTROMEHANIKA BEN d.o.o. 0804201601 2002021222Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Prčanjska 5 2852019960315 999
1001302 M.O.ELEKTROGRADNJA d.o.o. za elektroinstalacijske radove M.O.ELEKTROGRADNJA d.o.o. 0803205361 1999110822Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Slavka Batušića 41 4531019950213 999
1001329 PAL - ART AGENT d.o.o. za turizam i trgovinu PAL - ART AGENT d.o.o 0801894841 1997121222Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Korčulanska 4 6330119950213 999
1001337 SPIN D.O.O. ZA PROIZVODNJU, TRGOVINU I USLUGE SPIN D.O.O. 010003013 199805067 Bjelovarsko-bilogorska 248 Bjelovar 3239 Bjelovar 43000MIRKA BOGOVIĆA 19 5139019950213 999
1001361 SCH-SERVICE DRUŠTVO ZA PROIZVODNJU, TRGOVINU I USLUGE D.O.O. SCH-SERVICE D.O.O. 010004266 199511087 Bjelovarsko-bilogorska 671 Daruvar 10375 Daruvar 43500FRANKOPANSKA 46 /a 5190019950213 999
1001370 KOBID DRUŠTVO ZA PROIZVODNJU, PROJEKTIRANJE, TRGOVINU I USLUGE D. O.O. KOBID D.O.O. 010014330 199603137 Bjelovarsko-bilogorska 671 Daruvar 10375 Daruvar 43500I.MAŽURANIĆA 20 /c 7420019950213 999
1001388 MEŠTROVIĆ DRUŠTVO ZA POSLOVNE USLUGE, D.O.O. MEŠTROVIĆ D.O.O. 010027815 1996103110Virovitičko-podravska 4910 Virovitica 69361 Virovitica 33000EUGENA KVATERNIKA 2 7412019950213 999
1001434 ELEKTRO-MONT društvo s ograničenom odgovornošću za izvođenje elektroinstalacijskih radova ELEKTRO-MONT d.o.o. 0700410743 2003072420Međimurska 3859 Selnica 57088 Selnica 40314Zrinskih 57 4531019950213861097 999
1001442 DJELO, društvo s ograničenom odgovornošću za građevinarstvo DJELO, d.o.o. 0700510431 199806035 Varaždinska 4723 Varaždin 67199 Varaždin 42000Dubrovačka Ulica 7 4521119950213390055 390055 999
1001507 KLA-ROM d.o.o. za trgovinu, usluge i uvoz-izvoz KLA-ROM d.o.o. 0803725221 2000111722Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Jablanovac 2 51900199502133701398 3701398 999
1001663 PRIBANUŠ d.o.o. za smještaj, usluge i trgovinu PRIBANUŠ d.o.o. 0803202351 1999110522Grad Zagreb 1333 Grad Zagreb 72150 Zagreb 10000Starjak 16 8531019950213 999
1001680 PAPP d.o.o. za usluge, trgovinu na veliko i malo i vanjsku trgovinu PAPP d.o.o. 0300297153 2002060414Osječko-baranjska 1953 Kneževi Vinogradi 73431 Zmajevac 31307Maršala Tita 191/b 7412019950213 999
Sve sto sam ja uspio do sada jeste da proparsam samo prvi redak zapisa, to je ovaj "PONTIN D.O.O.", i to mi je uspjelo da sjeda u bazu. Ali to nije nikakvo rjesenje jer cim se promjeni string u neki drugi zapis onda to ne radi uopce.
Da li ovakav nacin zapisa kakav sam sad naveo olaksava stvar kod parsanja zapisa? Kao sto ce netko mozda promjeniti brojevi ulica nisu uvijek isti, mogu biti dugi 4 karaktera, međudim buni me među ostalim i kako riješiti stvar ako imam zapis tipa "191/b" za kucni broj a kako rijesiti zapis tipa "191 /b" ili "19 /b" npr. I prijasnji lapsus koji sam rekao je bio (govorim na primjeru za 1. zapis) da 5190019950217 (opet - 1. zapis) razbijam na prvih 5 karaktera 51900 i ostalih 8 (19950217).
Ja sam pokušao na ovaj način sve riješiti, i imam osjećaj da jesam na pravom putu ali da nešto ne radim kako treba:
Code:
// Ucitaj cijeli fajl u array
$lines = file('http://www.nesto.com/fajl.txt');
// Loopaj kroz cijeli array
$parsed = array(); //array koji sadrzi arraye
foreach ($lines as $line_num => $line) {
//ovdje parsiram:
$temp = $line; //kopiraj mi origigi podatke ali nemoj promijeniti original posto se nikad ne zna
$temp_result = array(); //ova varijabla cuva podatke od preg_match
$pattern = '@(^[0-9]+) ([a-z]+) @i';
if(!preg_match($pattern, $temp, $temp_result)) die("Greska kod parsiranja...");
$parsed[$line_num][1] = $temp_result[1]; // 1000039
$temp = ltrim($temp, $parsed[$line_num][1].' ');//rijesi se parsiranog teksta
$temp_result = strpos($temp, $temp_result[2], 1);
$parsed[$line_num][2] = substr($temp, 0, $temp_result - 1);//PONTIN drustvo s ogranicenom odgovornoscu za ribarstvo,preradu ribe, trgovinu, turizam i usluge
$temp = substr($temp, $temp_result);//rijesi se parsiranog teksta
//PONTIN D.O.O. 0600888913 1999070613Zadarska 5207 Zadar 71951 Zadar 23000Gazenicka Cesta 32 5190019950217 999";
$pattern = '@(^[^0-9]+)([0-9]+) ([0-9]{8})([0-9]+)([a-z]+) ([0-9]+) ([a-z]+) ([0-9]+) ([a-z]+) ([0-9]+)([^0-9]+)([0-9]+) ([0-9]{5})([0-9]+) ([0-9]+)@i';
if(!preg_match($pattern, $temp, $temp_result)) die("Greska kod parsiranja...");
//i na kraju, trebao bih dobiti ovakvo nesto:
$parsed[$line_num][3] = trim($temp_result[1]);//PONTIN D.O.O.
$parsed[$line_num][4] = $temp_result[2];//0600888913
$parsed[$line_num][5] = $temp_result[3];//19990706
$parsed[$line_num][6] = $temp_result[4];//13
$parsed[$line_num][7] = $temp_result[5];//Zadarska
$parsed[$line_num][8] = $temp_result[6];//5207
$parsed[$line_num][9] = $temp_result[7];//Zadar
$parsed[$line_num][10] = $temp_result[8];//71951
$parsed[$line_num][11] = $temp_result[9];//Zadar
$parsed[$line_num][12] = $temp_result[10];//23000
$parsed[$line_num][13] = trim($temp_result[11]);//Gazenicka Cesta
$parsed[$line_num][14] = $temp_result[12];//32
$parsed[$line_num][15] = $temp_result[13];//51900
$parsed[$line_num][16] = $temp_result[14];//19950217
$parsed[$line_num][17] = $temp_result[15];//999
}
P.S. I zaboravio sam jos nesto:
4. zapis recimo prije zadnjeg broja 999 sadrzi i "318673 318673" brojeve. Njih bi isto trebao proparsati, ali fora je u tome sto ih nekad ima a nekad nema u bazi, pa me zanima i na koji nacin bi se to trebalo rjesavati?
Anyone?