![]() |
![]() ![]() |
![]() |
![]()
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:
|
|
|
![]()
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 -------------------- ![]() |
|
|
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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.
|
|
|
![]()
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: 22.05.2025 - 05:57 |