Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Poprawienie systemu szablonów zamiast {ZMIENNA} żeby było {_ZMIENNA_}, Jak pooprawić wyrażenie regularne?
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Tworze strony internetową na podstawie systsmu szablonów, który znalałżem kiedyś na jakimśportalu.

Problem w tym, że nie mogę dodac żadnego kodu JavaScript, ponieważ wszystko pomiędzy znakami { i } jest wycinane.

Wpadłem na pomysł, żeby poprawić wyrqażnie regularne, żeby zmienne były trzymane nie w samych nawiasach, ale jeszcze z podkreślnikami {_ i _}

Czyli zamiast {ZMIENNA} żeby musiało być {_ZMIENNA_}


Kawałek kodu z wyrażneiem regularnym wygląda tak:

  1. if(preg_match_all('#\{(.*?)\}#is', $this -> compiled, $found)){
  2. foreach($found[1] as $match){
  3. $match_table[] = '\'.'.$this -> generate_block_ref($match).'.\'';
  4. }
  5. $this -> compiled = str_replace($found[0], $match_table, $this -> compiled);
  6. }


Bede wdzięczny za wszelkie wypowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

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


Ten skrypt ?
http://museum.webcity.pl/webcity/artykuly.php/t/22

Nie ma chyba powodu aby aż tak zmieniać kod, lepiej chyba zrobić parsowanie z pomijaniem bloków <script></script> ?

Ewentualnie jeżeli nie chcesz robić absolutnie żadnych zmian w kodzie możesz je zastąpić przez:
  1. & # 1 2 3 ;
  2. & # 1 2 5 ;

(oczywiście po usunięciu spacji)
ale to raczej szaleństwo (IMG:style_emoticons/default/wink.gif)

Ten post edytował Uriziel01 25.01.2012, 14:27:49
Go to the top of the page
+Quote Post
kukix
post
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(Uriziel01 @ 25.01.2012, 16:22:15 ) *
Ten skrypt ?
http://museum.webcity.pl/webcity/artykuly.php/t/22

Nie ma chyba powodu aby aż tak zmieniać kod, lepiej chyba zrobić parsowanie z pomijaniem bloków <script></script> ?

Ewentualnie jeżeli nie chcesz robić absolutnie żadnych zmian w kodzie możesz je zastąpić przez:
Kod
{ {
} }
ale to raczej szaleństwo (IMG:style_emoticons/default/wink.gif)



Tak, to ten skrypt, jestem z niego bardzo zadowolony..

Mam tylko problem ze wstawianiem kodów JavaScript..

Niestety skrypt jest dla mnie zbyt skomplikowany, nie dam rady pominac parsowanie bloków <script></script>
Zastępowac znak { } jego kodem, znaczaco zmniejszy czytelnośc kodu JavaScript.. :/

Wydaje mi się, że jak zmienie bloki z {} do {_ _} to będzie to najlepsze rozwiązanie..
Wystarczy zmienić to wyrażenie regularne:

  1. preg_match_all('#\{(.*?)\}#is', $this -> compiled, $found)


Ten post edytował kukix 25.01.2012, 14:30:48
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 00:48