Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z rozbiciem tekstu
Forum PHP.pl > Forum > Przedszkole
adam882
Witam

Mam problem z rozbiciem tekstu. Przykładowo mam takie dane:

Cytat
Warszawa
- stolica Polski
- niskie bezrobocie
- gęste zaludnienie
Kraków
- poprzednia stolica polski
- duże zainteresowanie studentów
Wrocław
- stare miasto
- rynek we Wrocławiu


Chciałbym teraz podzielić przy pomocy explode (lub podobnej funkcji) na miasta.

Przykłądowo:

a) Obiekt 1 tablicy:
Warszawa
- stolica Polski
- niskie bezrobocie
- gęste zaludnienie

cool.gif Obiekt 2 tablicy:
Kraków
- poprzednia stolica polski
- duże zainteresowanie studentów

itp.

Nie mam pomysłu w jaki sposób rozbić ten tekst.. Wydaje mi się, że cechą charakterystyczną jest tutaj nazwa z wielkiej litery i na tej podstawie próbowałem go rozbić, ale się nie udało. Mógłby mi ktoś w tym pomóc?
fibonacci
Jeśli twój tekst to poprostu string, to widać, że te 3 elementy oddziela podwójny enter,
czyli znak nowej linii, zatem kod może wyglądać tak

  1. $arr = explode("\n\n", $string);


Gdzie zmienna $arr to tablica z 3 elementami
adam882
Wybacz mój błąd - nie ma podwójnego entera :/ I z tym mam właśnie problem
sobol6803
A nie możesz sobie dodać jakiegoś znaku przed nazwą miasta? Np. %. Wtedy by było tak:

Cytat
%Warszawa
- stolica Polski
- niskie bezrobocie
- gęste zaludnienie
%Kraków
- poprzednia stolica polski
- duże zainteresowanie studentów
%Wrocław
- stare miasto
- rynek we Wrocławiu


Wtedy tylko explode % i str_replace usuwasz % i masz wszystko w tablicy.
adam882
No cóż - myślałem już nad takim rozwiązaniem - jak widzę będę musiał coś takiego zastosować. W każdym razie dzięki
erix
Ale kombinujecie...

  1. $arr = array();
  2. $key = null;
  3.  
  4. while($i = next($arr)){
  5. if($i[0]!='-'){
  6. $key = $i[0];
  7. }else{
  8. $arr[$key][] = $i;
  9. }
  10. }


I nie pożre Ci całej pamięci.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.