Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] preg_replace i $2
CyklOP
post 22.12.2003, 17:52:55
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](.*)[/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...


--------------------
This page is 100% valid MSHTML. We guarantee it will only view in MSIE.
Na warsztacie: replays.pl
Go to the top of the page
+Quote Post

Posty w temacie


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 - 04:43