Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problemik z PREG_REPLACE
Forum PHP.pl > Forum > PHP
MoD
Mam pewien kłopick przy kodzie:
  1. <?php
  2. class tplCompiler
  3. {
  4. //(...)
  5. var $tpl;
  6. function tplCompiler()
  7. {
  8. //(...)
  9. $this -> reg_exp['if'] = '/{ifs((.+))}(.+){endif}/';
  10. //(...)
  11. }
  12.  
  13. function Compile()
  14. {
  15. //(...)
  16. $this -> tpl = preg_replace( $this -> reg_exp[&#092;"if\"], '<?php if(0) { ?>1<?php } ?>', $this -> tpl );
  17. //(...)
  18. }
  19. }
  20. ?>


Dlaczeog, przy zapisie:
  1. {if (isset($_GET['url'])}
  2. Zmienna <b>URL</b> jest ustawiona!
  3. {endif}

Nie zmienia tego na dopowiednią instrukję tylko wyświetla tak jak jest questionmark.gif
ksiadz
moze dlatego ze w szablonie nie ma 2 nawiasow zamykajacych smile.gif
powinno byc tak
  1. {if (isset($_GET['url']))}
MoD
Zmieniłem kod:
  1. <?php
  2. class tplCompiler
  3. {
  4. //(...)
  5.     var $tpl;
  6.     function tplCompiler()
  7.     {
  8.     //(...)
  9.     $this -> reg_exp['if'] = '/{ifs((.+))}(.+){endif}/';
  10.     //(...)
  11.     }
  12.  
  13.     function Compile()
  14.     {
  15.     //(...)
  16.     $this -> tpl = preg_replace( $this -> reg_exp[&#092;"if\"], '<?php if(0) { ?>1<?php } ?>', $this -> tpl );
  17.     //(...)
  18.     }
  19. }
  20. ?>

na
  1. <?php
  2. class tplCompiler
  3. {
  4. //(...)
  5.     var $tpl;
  6.     function tplCompiler()
  7.     {
  8.     //(...)
  9.     $this -> reg_exp['if'] = '#{ifs((.+))}(.+){/if}#';
  10.     //(...)
  11.     }
  12.  
  13.     function Compile()
  14.     {
  15.     //(...)
  16.     $this -> tpl = preg_replace( $this -> reg_exp[&#092;"if\"], '<?php if(0) { ?>1<?php } ?>', $this -> tpl );
  17.     //(...)
  18.     }
  19. }
  20. ?>

A co z tym idzie:
  1. {if (!$_GET['url'])}
  2. Zmienna <b>URL</b> nie jest ustawiona!
  3. {/if}

Ale dalej nie działa sad.gif

Pomoże mi ktoś questionmark.gif

Z góry dziękuję chociażby za próbę pomocy.


--==UPDATE==--
Już sobie poradziłem. Wpisywałem \\0 zamiast \\1 i \\1 zamiast \\2 smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.