![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Potrzebuje pomocy z zamianą przecinków w fragmecie, tekstu tylko w " "[cudzysłów] na ciąg np. 6x3^ . Wymyśliłem coś takiego, ale to się sprawdza tylko z jednym takim ciągiem w " ". Jednak ich może być nieokreśliona ilość. Może jest jakaś funkcja która mogłaby to uprościć? Kod $line = trim(fgets($file,4096)); if(list($part1,$part2,$part3) = explode('"',$line)) { $part2 = str_replace(',', ' 6x3^ ', $part2); $line= $part1.$part2.$part3; } Chodzi mi o to aby: $line = "Jedzie pociąg z daleka, na nikogo nie czeka. \"Szłem drogom, kwiaty pachły, wiater wiał, ona mnie odepchła, wienc weszlem do domu, trzasłem dzwiami, pierdłem, żygłem i wyszłem, bo hamstwa nie zniese.\" Ala ma kota, a kot ma Ale."; Chodzi mi o to aby echo $line zwróciło: Jedzie pociąg z daleka, na nikogo nie czeka. \"Szłem drogom 6x3^ kwiaty pachły 6x3^ wiater wiał 6x3^ ona mnie odepchła 6x3^ wienc weszlem do domu 6x3^ trzasłem dzwiami 6x3^ pierdłem 6x3^ żygłem i wyszłem 6x3^ bo hamstwa nie zniese.\" Ala ma kota, a kot ma Ale."; Dobra napisze w sumie o co mi chodzi. Jest ustalona ilość ',' [przecinków], np. 20. i chce ładować ciągi znaków między nimi do tablicy, albo zmiennych, ale tak aby te w " " były ładowane do jednej. Podam przyklad dla sprostowania. ciąg znaków: Kod 1,2,3,4,5,6,7,8,9,"10,1",11,12,"13,4,5,6",14,15,16,17,18,19,20 no więc:Kod $a[1] = "1"; Normalnie to były by liczby znaki, wszystko oprócz " w tekście. No i dla sprostowania to nie wiem ile "" bedzie w jednej lini, ani gdzie bedą, wiem tylko ile bedzie w sumie zmiennych w lini. $a[2] = "2"; $a[3] = "3"; $a[4] = "4"; $a[5] = "5"; $a[6] = "6"; $a[7] = "7"; $a[8] = "8"; $a[9] = "9"; $a[10] = "10,1"; $a[11] = "11"; $a[12] = "12"; $a[13] = "13,4,5,6"; $a[14] = "14"; $a[15] = "15"; $a[16] = "16"; $a[17] = "17"; $a[18] = "18"; $a[19] = "19"; $a[20] = "20"; Mój dotychczasowy kod wygląda następująco: Kod while(! feof($file)) { $line = trim(fgets($file,4096)); if(list($part1,$part2,$part3) = explode('"',$line)) { $part2 = str_replace(',', ' 6x3^ ', $part2); $line= $part1.$part2.$part3; } list($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k) = explode(',',$line); $remarks = str_replace(' 6x3^ ', ',', $remarks); Na zwycięzce czeka : ![]() ![]() ------------------------------------------------------------------------------------ Piwo jako nagrode przesylam do pierwszego kto sie zgłosi... no bo znalazłem to co chcialem... oczywiście w googlach ![]() ![]() Jednak nagroda - piwo zostaje, mam 3 do rozdania ![]() ![]() Ten post edytował santalam 28.05.2005, 10:53:54 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:34 |