Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czy tekst leży pomiedzy dwoma wierszami, Szablony...
Major
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 22.07.2004

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


A więc tak. Mam dajmy taki tekst
Kod
hjsagdasd
<!-- START cos -->
{cos.HEADER}
<!--END cos -->
fgdgdfg

i nie wiem jak sprawdzic czy element "{cos.HEADER}" lezy pomiedzy "<!-- START cos -->" i "<!--END cos -->"
Może ktos podać jakąś pomocna funkcje lub/i przykladowy kod?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Major
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 22.07.2004

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


A więc zastosowałem metode quex. Można powiedziec ze prawie działa. Przedstawie zawartosc pliku index.tpl
Kod
<!-- BEGIN bum -->
{bum.HEADER}
<!-- END bum -->

i niestety jak jest w powyzszym stanie skrypt mi nie działa, zato jak jest
Kod
<!-- BEGIN bum -->{bum.HEADER}<!-- END bum -->

tak to mi działa ale zato mi to nie pasuje. Ale nie moze byc takze
Kod
<!-- BEGIN bum -->{bum.HEADER}<br><!-- END bum -->

Wiec jeszcze gorzej. Ponizej przedstawiam czesc funkcji ktorej uzywam do kompilacji
  1. <?php
  2.                         $blocks = explode('.', $key);
  3.                         $text = explode(&#092;"<!-- BEGIN $blocks[0] -->\", $code);
  4.                         for($x=1; $x < count($text); $x++)
  5.                         {
  6.                             $slowo= explode(&#092;"<!-- END $blocks[0] -->\", $text[$x]);
  7.                             //print ($slowo[0]);
  8.                             $tag = '{'.$key.'}'; 
  9.                             //print_r ($szukane_slowo).'<br>';
  10.                             //echo $tag.'<br>';
  11.                             $sl = $slowo[0];
  12.                             echo $sl.'<br>';
  13.                             echo $tag.'<br>';
  14.                             if($sl == $tag)
  15.                             {
  16.                                 $code = str_replace($tag, $value, $code); 
  17.                                 echo 'bum';
  18.                                 return $code;
  19.                             } 
  20.                             else 
  21.                             {
  22.                                 echo 'bumaa';
  23.                                 return false;
  24.                             }
  25. ?>


---EDIT----
hmm wymysliłem inny kod
  1. <?php
  2. $code_lines = explode(&#092;"n\", $code);
  3. while(list($key, $value) = each($this->template['.'][0])) 
  4. { 
  5. if(strstr($key,'.'))
  6. {
  7. $tag = '{'.$key.'}';
  8. // Second: prepend echo ', append ' . \"n\"; to each line.
  9. $line_count = sizeof($code_lines);
  10. for ($i = 0; $i < $line_count; $i++)
  11. {
  12. $code_lines[$i] = chop($code_lines[$i]);
  13.  
  14. if (preg_match('#<!-- BEGIN (.*?) -->#', $code_lines[$i]) )
  15. {
  16. print_r ($m);
  17. if (preg_match('#<!-- END (.*?) -->#', $code_lines[$i]))
  18. {
  19. print_r ($m);
  20. $code = str_replace($tag, $value, $code_lines[$i]); 
  21. return $code;
  22. }
  23. }
  24. }
  25. }
  26. }
  27. ?>

Ale on rownierz nie zamienia mi
Kod
<!-- BEGIN bum -->
<font color="red">{bum.HEADER}</font>
<!-- END bum -->

Ale już zamienia mi taki kod
Kod
<!-- BEGIN bum --><font color="red">{bum.HEADER}</font><!-- END bum -->

Bóg zapłać.
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: 12.10.2025 - 23:03