![]() |
![]() ![]() |
![]() |
![]()
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ę. ![]() |
|
|
![]()
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
![]() Ten post edytował ghost1511 21.03.2014, 08:23:45 |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]()
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.
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 11:03 |