anonīms Posted February 24, 2011 Report Share Posted February 24, 2011 (edited) Veidojot kodu īsti nepiefiksēju, ka whitespace skaits atšķirās, bet tomēr uz beigām to ievēroju. Lieta tāda, ka tiek ņemts .txt fails, kur tiek glabāta statistika un tad tā tālāk tiek apstrādāta. Protams failā viss smuki sakārtots ar whitespace (to visu dara programma, nevis cilvēks) un tajā procesā vairs neko neizmainīt. txt fails izskatās šādi: 2005-2006 Memphis Pos. Sec Pos Name Pts Rebs Ast Blk Stl TO Fouls Mins FG/Att FG% 3P/Att 3P% FT/Att FT% O. Reb D. Reb C C M. Gasol 10 14 4 1 2 2 0 20 5/6 .833 0/0 - 0/0 - 9 5 PF C Z. Randolph 26 12 2 0 1 2 1 20 13/20 .650 0/0 - 0/0 - 6 6 SF SG R. Gay 19 8 8 0 0 4 3 20 8/22 .364 0/1 .000 3/3 1.000 0 8 SG SF O. Mayo 10 6 1 0 3 1 4 20 4/18 .222 0/4 .000 2/2 1.000 1 5 if(!list($hz1,$hz2,$name,$pts,$rebs,$ast,$blk,$stl,$to,$fouls,$mins,$fg_att,$fg,$p3_att,$p3,$ft_att,$ft,$reb0) = explode(" ", $gd)) $csv_error = 1; php.lv izskatās, ka uzreiz noņem visus whitespaces un aizstāj tos tikai ar vienu! Teorētiski man vajadzētu to pašu. Varbūt kāds zina kā to dabūt gatavu? EDIT: Slinks pēc velna. Negribu pat google vairs izmantot. http://stackoverflow.com/questions/2368539/php-replacing-multiple-spaces-with-a-single-space Edited February 24, 2011 by anonīms Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 24, 2011 Report Share Posted February 24, 2011 (edited) $str = preg_replace('/\s\s+/', ' ', $str); Varbūt labāk būtu explode ar noteiktu skaitu whitspace, piemēram 1 un pašu saņemtā faila tekstu formatējam ar vienādām atstarpēm? Savādāk sanāk, ka tu dzinēju pielāgo datiem, ne datus dzinējam, kas šajā gadījumā nav īpaši pareizi. Edited February 24, 2011 by F3llony Quote Link to comment Share on other sites More sharing options...
anonīms Posted February 24, 2011 Author Report Share Posted February 24, 2011 Laikam nepareizi paskaidroju, jo tāds ir arī plāns. Pārvērst tā, lai dzinējs ņemtu pēc 1 whitespace datus Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 24, 2011 Report Share Posted February 24, 2011 $gd = preg_replace('/\s\s+/', ' ', $gd); if(!list($hz1,$hz2,$name,$pts,$rebs,$ast,$blk,$stl,$to,$fouls,$mins,$fg_att,$fg,$p3_att,$p3,$ft_att,$ft,$reb0) = explode(" ", $gd)) $csv_error = 1; Quote Link to comment Share on other sites More sharing options...
anonīms Posted February 24, 2011 Author Report Share Posted February 24, 2011 jap, jap, jau pēc pirmā posta tiku galā. Paldies Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.