Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyrazenia regularne w szablonach
--mic--
post 25.06.2012, 11:19:44
Post #1





Goście







Witam,

pisze prosty program ktory generuje mi tresc w szablonie.

Szablon ma postac:

tekst 1
{ifmainpage}sekcja A {/ifmainpage}
tekst 2
{ifmainpage}sekcja B{/ifmainpage}

Stosuje taki kod
$szablon = ereg_replace("{ifmainpage}.*{/ifmainpage}","",$szablon);

Problem w tym ze on zamiast zostawic mi wynik:
tekst 1
sekcja A
tekst 2
sekcja B

to zostawia mi tylko:
tekst 1

Probowalem alternatywne wzorce jak:
.*[^{] lub .*[^ifmainpage] niestety nie udalo sie.

Bardzo prosdze o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
krzywy36
post 25.06.2012, 11:24:30
Post #2





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


bo to wyrażenie jest "zachłanne". Zrób tak:
  1. $szablon = preg_replace('/\{ifmainpage}.*?\{\/ifmainpage}/', $replacement, $szablon); //ereg to zuo

$replacement to, to co ma się znaleźć zamiast tych "sekcji"

Ten post edytował krzywy36 25.06.2012, 11:27:27


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
--mic--
post 25.06.2012, 14:00:06
Post #3





Goście







Działa! Pięknie dziękuję. smile.gif
Go to the top of the page
+Quote Post
--mic--
post 26.06.2012, 10:39:50
Post #4





Goście







A może mi ktoś jeszcze podpowiedziec jak to zmodyfikowac aby działało znacnziki {ifmainpage} {/ifmainpage} nie musioaly byc w jednej lini a obejmowaly wiekszy fragment


cos w stylu

{ifmainpage}
tekst A .....<br />

<a href="">Link 1</a>
{/ifmainpage}

poki co musze zapisywac to w jednej lini zebyd zialalo ale kod HTML jest nieprzejrzysty i latwo sie pogubic.
{ifmainpage}tekst A .....<br /> <a href="">Link 1</a>{/ifmainpage}


Raz jeszcze prosze o pomoc smile.gif
Go to the top of the page
+Quote Post
krzywy36
post 26.06.2012, 11:48:56
Post #5





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

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


sprawdź:
  1. $szablon = preg_replace('/\{ifmainpage}.*?\{\/ifmainpage}/s', $replacement, $szablon); //ereg to zuo


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
-Gość-
post 26.06.2012, 20:52:26
Post #6





Goście







Bułka z masłem - prawda? Jeszcze raz piekne dzięki 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: 14.08.2025 - 06:29