Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyrażenia regularne
dudek90
post 20.03.2014, 22:26:08
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.07.2011

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


Cześć,
Z wyrażeniami regularnymi prawie nie miałem jeszcze do czynienia w PHP. A domyślam się, że tylko one mogą pomóc w rozwiązaniu mojego problemu.
A mianowicie: mam sobie jakiś content pobierany z bazy danych (powiedzmy przechowuję go w zmiennej $content).
Chciałbym teraz przeszukać całą zawartość $content i znaleźć w nim wystąpienia ciągu [[---X---]] gdzie X jest zmienne.
Następnie dla każdego z tych wystąpień chciałbym zamienić to [[---X---]] na inną treść (treść ta będzie różna w zależności od X).

Jak to najprościej i najszybciej zrobić? Moglibyście podać mi jakiś przykład?

Czytałem trochę o preg_match_all (to mogło by posłużyć do znalezienia tych wystąpień [[---X---]]), a następnie preg_replace mogło by zamienić te wystąpienia. Jednak nie bardzo wiem jak to połączyć (a może w ogóle idę złym tropem?)

Za wszelką pomoc z góry dziękuję. smile.gif
Go to the top of the page
+Quote Post
ghost1511
post 21.03.2014, 08:22:24
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 18
Dołączył: 2.09.2010

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


Wystarczy preg_replace jeżeli funkcja znajdzie ciąg odpowiadający wyrażeniu to go podmieni. Nie musisz tego wcześniej sprawdzać (no chyba ze faktycznie do czegoś to potrzebujesz). Ostatnim argumentem jest $count więc możesz sprawdzić ile zmian zaszło smile.gif

Ten post edytował ghost1511 21.03.2014, 08:23:45
Go to the top of the page
+Quote Post
dudek90
post 21.03.2014, 08:32:44
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.07.2011

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


Ale czy preg_replace nie podmieni mi mojego [[---X---]] na jakiś stały ciąg?
Chodzi o to, że ja na podstawie wartości X muszę zrobić zapytanie do bazy po czym wstrzyknąć zamiast [[---X---]] to co mi zwróci to zapytanie.
Go to the top of the page
+Quote Post
Turson
post 21.03.2014, 08:41:28
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


http://pl1.php.net/manual/en/function.preg...ce-callback.php

Ten post edytował Turson 21.03.2014, 08:41:44
Go to the top of the page
+Quote Post
dudek90
post 21.03.2014, 09:13:48
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.07.2011

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


Okej, udało mi się to zrobić. Dziękuję za pomoc. smile.gif
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 11:03