Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyrażenia regularne, Wyćiągnięcie wartośći z pomiędzy tagów
ze4lot
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 1
Dołączył: 29.03.2007
Skąd: Kraków

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


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

Ten post edytował ze4lot 8.07.2011, 15:49:51
Go to the top of the page
+Quote Post
hatesz
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 7
Dołączył: 6.05.2010
Skąd: Kraków

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


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);


Ten post edytował hatesz 8.07.2011, 16:15:56
Go to the top of the page
+Quote Post
ze4lot
post
Post #3





Grupa: Zarejestrowani
Postów: 54
Pomógł: 1
Dołączył: 29.03.2007
Skąd: Kraków

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


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 (IMG:style_emoticons/default/wink.gif)

Pozdrawiam i dziękuję za pomoc

Ten post edytował ze4lot 8.07.2011, 16:26:15
Go to the top of the page
+Quote Post

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: 23.12.2025 - 12:14