Op het moment dat iemand een reactie geeft waar dan ook op en hij opent daarin de <?php tag maar sluit ?> hem niet heeft het hele topic vanaf daar een ander lettertype dan boven die fout, zou het niet slim zijn als er standaard alle text instellingen opgeheven werden bij elke nieuwe reactie?

edit: Ik had zelf vergeten af te sluiten
Dat zou wel slim zijn, ja ;-)
Tjah, moet niet zo moeilijk zijn.. :) als je kan controleren of allebij er staan, kan je ook controleren of die is afgesloten of niet.. en zo niet... kan er zo ?> aan het einde van het bericht worden geplaatst (of ik denk nu veel te gemakkelijk :S)
Met een regex kan je het zo doen. Ik ga ervan uit dat ze hier een parser klasse gebruiken, dus zoiets(uit de hand) :
<?php
$txt = preg_replace("#<\?php(.*?)\?>#sie", "\$this->highlight_php('\\1');", $txt);

function highlight_php($txt='') {
ob_start();
highlight_string('<?php'.$txt.'?>');
$return = ob_get_contents();
ob_end_clean();

$return = '<code>'.$return.'</code>';
return $return;
}
?>
@ Sebastiaan
Als ik zo naar jou kleuropmaak kijk, dan klopt dit niet:

$this->highlight_php('\\1');

EDIT:
Als ik de code wat beter bekijk, dan lijkt de code wel te kloppen, alleen de opmaak niet :S
@ Sebastiaan:

Ik zou hem gewoon zo doen

<?php
// als highlight_string als twee argument
// true meekrijgt stopt hij hem in een string
// en heb je de ob_ functies niet nodig
function highlight_php($txt='') {
return = '<code>' . highlight_string('<?php'.$txt.'?>', true) . '</code>';
}
?>

Reageren