Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
ze4lot
Witam
Męczę się już dłuższ± chwilę z rozgryzieniem jednej kwestii:
Zawarto¶ć stringa zawiera taki łańcuch znaków:
  1. $string = ":name: foo bar :eman:";


Chciałbym wyci±gn±ć warto¶ć 'foo bar'. Do tej pory próbowałem dokonać tego przy użyciu funkcji preg_match() ale jako¶ sobie nie radze.
Bardzo proszę o pomoc.

Pozdrawiam
hatesz
Może:

  1. $string = ':name: foo bar :eman:';
  2.  
  3. preg_match('/\:\s[a-zA-Z\s]{1,}\s\:/', $string, $matches);
  4. echo substr($matches[0], 1, -1);
ze4lot
Dzięki Hatesz, działa dobrze ale tylko gdy pomiędzy tagami s± dwa wyrazy tak jak pokazałem w pierwszym po¶cie.
Skrypt musi 'łykn±ć' wszystko co jest pomiędzy :name:, a :eman: czy to jest jedno słowo, dwa, pięć lub jest pusto.

[EDIT]

ostatecznie zmodyfikowałem tak:
'/\:\s[a-zA-Zęó±¶łżĽćńęó±¶łżĽćń\s]*\s\:/'

i działa znakomicie. Problemem były polskie znaczki wink.gif

Pozdrawiam i dziękuję za pomoc
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.