Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z rozbiciem tekstu
adam882
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


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?

Ten post edytował adam882 24.07.2012, 18:15:13
Go to the top of the page
+Quote Post
fibonacci
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 1
Dołączył: 24.07.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
adam882
post
Post #3





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Wybacz mój błąd - nie ma podwójnego entera :/ I z tym mam właśnie problem
Go to the top of the page
+Quote Post
sobol6803
post
Post #4





Grupa: Zarejestrowani
Postów: 115
Pomógł: 13
Dołączył: 19.06.2011
Skąd: Ruda Śląska

Ostrzeżenie: (0%)
-----


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.


--------------------
  1. mysql_query("DROP DATABASE $_GET['dbname']");
Go to the top of the page
+Quote Post
adam882
post
Post #5





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


No cóż - myślałem już nad takim rozwiązaniem - jak widzę będę musiał coś takiego zastosować. W każdym razie dzięki
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:00