Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Cięcie stringa po n-tym powtórzeniu znaku
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


Witam

chciałbym uzyskać bez użycia explode raczej dziejącą się w jednej linijce...

Dane są przykładowe i każda z nich będzie ulegać zmianie więc pomysły typu \trzy\cztery odpadaja.

jeden\dwa\trzy\cztery

wykonano operacje

jeden\dwa

Za pomoc thx (IMG:style_emoticons/default/smile.gif)

Ten post edytował KotWButach 26.10.2012, 22:14:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
droslaw
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 33
Dołączył: 10.05.2011
Skąd: Krak

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


Cytat(tehaha @ 27.10.2012, 12:58:59 ) *
Więc pewnie będzie to coś w stylu:
  1. substr($string, strpos($string, "/", 1));
dla drugiego wystąpienia "/" w tekście, ale sprawdź bo pisane z palca

To nie zadziała by pozycja pierwszego slasha musiałaby być znana, nie jest to 1.
Przychodzi mi do głowy preg_match:
  1. $a = array();
  2. $path = 'a/b/c/d/e';
  3. preg_match('/(\w+\/\w+)/',$path,$a);//teraz $a to tablica z jednym elementem : "a/b"

Można też z explode:
  1. $path = 'a/b/c/d/e';
  2. $elementsNumber = 2; // chcemy 2 elementy
  3. implode('/',array_slice(explode('/', $path, $elementsNumber+1), 0, $elementsNumber)) // zwróci "a/b"
  4.  
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 23:15