[ 5h0ck @ 10.08.2008. 14:39 ] @
Pozdrav, trebam na neki način da rešim sledeće:

Ako se u tekstu nalazi reč {NEKA_REC} da ga PHP automatski zameni sa funkcijom include('tabela.php')

Pokušao sam str_replace() i define(), ali nisam dobio željeni rezultat, jer u oba slučaja obradi include() odmah.

Znam da je na neki način moguće to izvesti, jer koliko se sećam Joomla je imala takava princip sa ubacivanjem slika. umesto {image} ubacivala je sliku...

Pa ako neko zna, bio bih mu zahvalan na pomoći.
[ flylord @ 10.08.2008. 15:38 ] @
da li mozes da napises tacno kako si pokusao da to uradis?
[ 5h0ck @ 10.08.2008. 15:46 ] @
Naravno. Ovo su dve varijante koje sam pokušao:
Code:
<?php
$text = "Tabela<br>
           {TAB1}";

//Varijanta 1
$funkcija = "<?php include('include/tabela/tab1.php') ?>";
$text2 = str_replace("{TAB1}", $funkcija, $text);

//Varijanta 2
$text2 = str_replace("{TAB1}", include('include/tabela/tab1.php'), $text);

echo $text2;

?>
[ Nikola Poša @ 10.08.2008. 16:15 ] @
Probaj da u toj prvoj varijanti, tu promenljivu $funkcija napishesh pod jednostrukim navodnicima...
[ 5h0ck @ 10.08.2008. 16:24 ] @
Pokušao...
Isto mu se hvata...
[ CONFIQ @ 10.08.2008. 16:24 ] @
koristi eval... http://php.net/manual/en/function.eval.php
a zasto ne koristis smarty u ovakvom slucaju?
[ 5h0ck @ 10.08.2008. 20:58 ] @
Hvala na odgovoru, ali nisam se nikada okušao sa smartyjem. Sajt u principu gotov i ne bi sada dodatno petljao sa smartyjem zbog hostinga.

Pokušao sam sa eval, ali mi izbacuje
Code:
Parse error: syntax error, unexpected T_INCLUDE in D:\wamp\www\site\_new2.php(32) : eval()'d code on line 1


Možda ja nepravilno koristim eval() ?
[ flylord @ 11.08.2008. 06:46 ] @
opet se ja javljam sa svojim savetima . Napisi uvek kod koji ti javlja gresku. da ne bi smo gatali zasto se javlja ova greska.
[ 5h0ck @ 11.08.2008. 10:40 ] @
Sorry, u pravu si. :)

Code:
<?php
$text = "Tabela<br>
           {TAB1}";

//Varijanta 1
$funkcija = "<?php include('include/tabela/tab1.php') ?>";
$text2 = str_replace("{TAB1}", $funkcija, $text);

eval($text2); // Probao sam ovde i onu varijantu iz manuala, ali isto mu dođe.

echo $text2;

?>


[ glavince @ 11.08.2008. 12:33 ] @
Tako ti je to kad ne citas manual :)

Code:

$text = "Tabela<br>
           {TAB1}";
$funkcija = '<? include \'include/tabela/tab1.php\'?>';
$text2 = str_replace("{TAB1}", $funkcija, $text);
eval("?>".$text2);
[ 5h0ck @ 11.08.2008. 14:28 ] @
Ih, pa kada bi svi čitali manula-e, ovaj forum ne bi ni postojao! ;)

Uspeo sam, hvala ti puno!
Hvala svima!