Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak usunąć ze stringa wszystko za zankiem "/" ?
Forum PHP.pl > Forum > Przedszkole
finka
  1. $linia preg_replace('/\/(.+?)/','',$linia);

Ten sposób niestety nie działa.
Można to też zrobić za pomocą explode, ale co jest nie tak z tym wyrażeniem ?
vonski
Usuń znak zapytania i powinno być ok.
finka
nie za bardzo :/
vonski
W jakim sensie "nie bardzo"?

Masz taki string: "pierwszy/drugi" i chcesz usunąć to: /drugi, tak?

  1. $linia = 'pierwszy/drugi';
  2.  
  3. $linia = preg_replace('/\/(.+)/','',$linia);
  4.  
  5. echo $linia // wynik: pierwszy
kreatiff
Twoje wyrażenie jest o tyle niezgodne z tym co piszesz, że usunie nie tylko to co stoi za slashem, ale też i jego.
  1. $linia = 'http://www.pierwszy.com/drugi/trzeci/czwarty';
  2. $linia = preg_replace('#^(.*?\/).*#', '$1', $linia);
  3. echo $linia // wynik: http ://www.pierwszy.com/ (bez tej spacji po http, ale przerabia mi to na kod html, gdy wklejam prawidłowy link)

Na przyszłość warto podać jakiegoś przykładowego stringa, na którym sprawdzi się Twój przykład. A nuż jest on jakiś specyficzny wink.gif
finka
Cytat(vonski @ 24.01.2014, 16:22:17 ) *
W jakim sensie "nie bardzo"?

Masz taki string: "pierwszy/drugi" i chcesz usunąć to: /drugi, tak?

  1. $linia = 'pierwszy/drugi';
  2.  
  3. $linia = preg_replace('/\/(.+)/','',$linia);
  4.  
  5. echo $linia // wynik: pierwszy


teraz zadziałało, nie wiem czy wcześniej coś mi się wcisnęło czy co, ale działa super i dokładnie o to mi chodziło, czyli żeby usunęło wszystko za / wraz z / smile.gif
Dzięki!
com
pewnie brakowało = jak tu:
  1. $linia preg_replace('/\/(.+?)/','',$linia);

wink.gif
r4xz
Preg_replace w tym przypadku to kiepskie rozwiązanie, polecam:
substr + strpos
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.