Ik maak een site, die berust op een aantal .pag bestandjes. Lang verhaal eigenlijk, dus ik zal het kort houden.
Ik wil alles wat tussen [php] en [/php] behandelen als php code, dus als er [php] echo('hoi'); [/php] staat, komt er in plaats van dat "hoi" te staan.
Dit is mijn huidige code, maar die geeft veranderd niets:
<?php
function execphp($code)
{
ob_start();
eval(addslashes($code[0]));
return(ob_get_contents());
ob_end_clean();
}
$str = "[php] echo('hoi'); [/php]";
preg_replace_callback("/\[php](.*?)[\/php]/i",'execphp', $str);
echo($str);
?>
Gebruik de ubb parser van Jorik
(Download hem wel, als je hem van de site kopieert klopt ie niet)
Nee, ik wil niet de code kleuren, maar de code uitvoeren.
Die gebruik ik al in mijn code...
sorry, had ik over heen gelezen

Maar waar geef je hier de code mee?

preg_replace_callback("/\[php](.*?)[\/php]/i",'execphp', $str);

execphp moet toch execphp() zijn en dan moet jeje code meegeven
Nee, dan geeft ie een fout. (maar evengoed bedankt voor de reactie :) )
"execphp()" <-- met " probeer ees he
Thnx het werkt.
Bedankt!
Nu heb ik weer een probleem.
Het werkt alleen bij [php]echo('hoi!');[/php], maar niet bij [php]
echo('hoi!');
[/php]
Hoe zorg ik ervoor dat ie alles tussen [php] en [/php] pakt, dus ook alle regels daartussen?

Reageren