explode - koniec linii. |
explode - koniec linii. |
4.09.2012, 15:23:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 3 Dołączył: 23.10.2011 Ostrzeżenie: (0%) |
Witam, piszę sobie niewielki skrypt (właściwie to dopiero zalążek tego co chce zrobić), i napotkałem problem.
Mianowicie w swoim skrypcie pozwalam na wysyłanie wiadomości przez użytkowników, które następnie lądują w pliku .txt z zapisaną wiadomością, datą. Później chce je odpowiednio "odtworzyć/wczytać" na forum i do tego celu wykonuje pętle - niestety całość polega na tym, że dobrałem do tego chyba najmniej odpowiednią funkcję (no a raczej nie wiedziałem, że znak nowej linii jest ignorowany ). Przy próbie wyodrębnienie od siebie wiadomości, daty oraz napisu (dzięki któremu przeliczam ile zostało wysłanych wiadomości) całość się psuje gdyż explode ignoruje znak końca linii i daje ciągnie kolejne linie aż do napotkania kolejnego wzorca, który jest rozdzielany. Moje pytanie jest takie: - Czy macie może jakiś inną radę jak to rozdzielić lub jak wykonać by explode zakończył swoje działanie w chwili napotkania końca linii i szukał po prostu kolejnego wzorca zaczynającego się od _datapost lub _trescpost. Plik php wygląda tak:
Przykładowe danego w pliku txt wyglądają tak:
|
|
|
4.09.2012, 16:33:41
Post
#2
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 6 Dołączył: 13.01.2012 Skąd: Bytom Ostrzeżenie: (0%) |
yyy, explode( "\n", $jakaszmianna );
? tylko pamiętam, że znak specjalny końca lini (\n) MUSI być w cudzysłowie (") daj tylko \n\n zamiast \n, to będzie dzielić plik, na tablicę, a elementy będą oddzielone dwoma znakami nowej lini bo widzę, że tak masz, ew. jak zrobisz explode z \n tylko raz, to musisz sprawdzac czy coś jest w lini, jak tak to wyswietlasz, jak nie to uznajsze ze koniec elementu, i następna wartośc w zmiennej z pętli będzie dotyczyć kolejnego elementu Ten post edytował mrWodoo 4.09.2012, 16:35:06 -------------------- |
|
|
4.09.2012, 18:04:23
Post
#3
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 13 Dołączył: 3.02.2011 Ostrzeżenie: (0%) |
Ten post edytował kalipek 4.09.2012, 18:06:24 |
|
|
4.09.2012, 18:54:13
Post
#4
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 3 Dołączył: 23.10.2011 Ostrzeżenie: (0%) |
W kodzie kalipka pomieszała się zmienna data z liczbą wiadomości, ale to już sobie dorobiłem odpowiednią część korzystając z tego co mi podał.
Ślicznie dziękuje obydwóm za pomoc. |
|
|
4.09.2012, 18:59:09
Post
#5
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 13 Dołączył: 3.02.2011 Ostrzeżenie: (0%) |
preg_match_all() zwraca liczbę wystąpień, tym samym informuje ile jest wiadomości, jednocześnie wrzucając w tablicę znaleziony ciąg - w jednej linijce masz załatwione obie zmienne.
|
|
|
5.09.2012, 06:12:40
Post
#6
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 3 Dołączył: 23.10.2011 Ostrzeżenie: (0%) |
Hmm, faktycznie. Coś mi się pętla pomieszała bo nie chciała się wykonywać, dzięki jeszcze raz.
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 21:47 |