Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] regexp i nieokreślona liczba elementów w preg_match, nie preg_match_all
erix
post
Post #1





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




Prosty przypadek, wyłuskuję zawartość z URL:

Kod
/asdasd/asdgfg/fgfg

gdzie nie wiem, ile jest parametrów.

Jeśli chcę wyłuskać wszystkie te parametry, robię:
  1. preg_match_all('#([^/]+)#si', $str...)


Ok, teoretycznie wszystko bangla, tylko gdy chcę jakąś część stałą zostawić:
  1. preg_match('#/asdasd/([^/]+)#si', $str...)

To jest problem, gdyż mam tylko pierwszy parametr.

Moje pytanie: w jaki sposób skonstruować wyrażenie, aby złapało wszystkie elementy URL począwszy od pewnej stałej? Do tablicy, oczywiście. winksmiley.jpg


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

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
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Jak na moje nie jest to możliwe w preg_match, trzeba bawić się z preg_match_all


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Jak wyzej - wynika to z definicji.

No i zawsze masz substr() i preg_split/explode.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Wyciągnij cały url odkąd tam chcesz dokąd chcesz i poleć explodem po slashu. Kumpel tak zrobił w Kohanie obsługę nice-url, bo akurat nie używaliśmy formy
/metoda/parametr/wartosc/parametr/wartosc
tylko
/metoda/parametr_wartosc/parametr_wartosc/
Było nam to potrzebne i w tej formie działa.
Powód edycji: [thek]: @bottom -erix: sam w podtytule masz: nie preg_match_all :D


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
erix
post
Post #5





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




No że w taki sposób się da, to wiem; chciałem wiedzieć, w jaki sposób na samych pregach coś takiego osiągnąć.


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

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: 21.08.2025 - 22:50