![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 16.08.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Siedzialem juz dosyc dlugo i nie mam pomyslu, a rozwiazanie najprawdopodobniej jest proste...
[php:1:df22820218]<?php //tutaj moj kod ktory chce przeszukac w poszukiwaniu znacznikow [kod] [/kod] $code='[cokolwiek przed][kod] echo("a"); [/kod][cokolwiek po][kod] $b=$a+$b; [/kod]'; // fragment wyszukujacy znaczniki i wykonujacy funkcje 'kod' na fragmencie pomiedzy znacznikami echo(preg_replace("[/kod]!U",kod('$2'),$code)); ?>[/php:1:df22820218] Funkcja w pierwszej postaci, zwracajaca bzdurny wynik: [cokolwiek przed] <? $2 ?> [cokolwiek po] <? $2 ?> [php:1:df22820218]<?php function kod($kod) { $kod="<br />".highlight_string("<? $kod ?>",1)."<br />"; return($kod); } ?>[/php:1:df22820218] funkcja w drugiej postaci: [php:1:df22820218]<?php function kod($kod) { $kod="<br />".highlight_string("$kod",1)."<br />"; return($kod); } ?>[/php:1:df22820218] Druga funkcja (usunalem w niej znaczniki <? i ?>) wyswietla $2 tak jak powinna: [cokolwiek przed] <? echo("a"); ?> [cokolwiek po] <? $b=$a+$b; ?> ... ale za to nie koloruje. Nie wiem jak temu zaradzic, skonczyly mi sie pomysly... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 16.08.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Rozwiazaniem bylo "preg_replace_callback", a poprawka adwola cos nie dziala (wyswietla sie kwadrat albo pisze ze niedozwolony znak "" ;p). Wielkie dzieki i wesolych swiat zycze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 16:51 |