![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 12.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Powidzmy, że mam w szblonie strony pewne zmienne które bede zastępował póżniej odpowiednimi kodem HTML. Jak na razie mam dwie zmienne:
%field:menu% oraz %output% Jak to zrobić, a by stworzyć tablicę zawierającą wszystkie ciągi %field:.*%? Szablon całkowicie znajduje się w zmiennej $template i gdy wykonuję:
To wyświetla mi się %field:menu%<html..........>%output%, a ja chcę aby wyświetliło mi się tylko %field:menu%. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sama '*' będzie brała wszystko jak leci chciwie (greedy).. musisz narzucić tak zwany leniwy (lazy) tryb czyli dodać '?' tak by się zatrzymała jesli dalsza częsć wyrażenia, będzie się zgadzać. Ostatecznie:
Kod %field:.*?%
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 12.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niestety po użyciu %field:.*?% ukazuje się błąd:
php Warning: eregi() [function.eregi]: REG_BADRPT in G:\wwwroot\raf\index.php on line 23 a przy użyciu %field:.?% otrzymuję pustą tablicę. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(raf_gc @ 2006-05-20 13:39:09) Niestety po użyciu %field:.*?% ukazuje się błąd: php Warning: eregi() [function.eregi]: REG_BADRPT in G:\wwwroot\raf\index.php on line 23 a przy użyciu %field:.?% otrzymuję pustą tablicę. no tak.. wyrażenia regularne oparte na POSIX'ie mają dużo ograniczeń. Skorzystaj z alternatywnego zbioru funkcji (PCRE). Tam odpowiednikiem będzie preg_match():
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 12.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, jeden krok do przodu, ale jeśli umieszczę w szablonie strony następną zmienną %field:data% to po wykonaniu var_dump($result) otrzymuję tylko
array(1) { [0]=> string(12) "%field:menu%" } a powinny być dwa dopasowania, chyba, że jestem w błędzie. P.s Czy znacie jakiś dobry kurs wyrażeń regularnych PCRE? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 17.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(raf_gc @ 2006-05-21 12:20:49) jeśli umieszczę w szablonie strony następną zmienną %field:data% to po wykonaniu var_dump($result) otrzymuję tylko array(1) { [0]=> string(12) "%field:menu%" } a powinny być dwa dopasowania, chyba, że jestem w błędzie. o_s%C4%85_wyra%C5%BCenia_regularne_i_do_czego_s%C5%82u%C5%BC%C4%85%3F' target='_blank Ten post edytował matrach 21.05.2006, 11:31:18 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 12.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję serdecznie! Dokładnie o to mi chodziło!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 21:50 |