Hm, ich baue bei meinem Boardsystem gerade eine Board - Tag - Funktion ein, die aber im Moment noch nicht richtig funktioniert
. Das einzige Problem ist aber nur das PHP - Syntaxhighlighting, denn wenn dieser Tag benutzt wird, dann wird der Text außerhalb des Tags zwar wie gewollt schwarz ausgegeben, doch ist er immernoch in dieser komischen Schrift (im HTML - Code steht "<code>bla</code>". Der Code sieht ungefähr so aus:
Hoffe ihr könnt mir helfen. Ich möchte doch nur, dass "'bla bla bla, irgend ein text hier" und der Text nach dem Code z.B. in Verdana ausgegeben wird.
solanum
. Das einzige Problem ist aber nur das PHP - Syntaxhighlighting, denn wenn dieser Tag benutzt wird, dann wird der Text außerhalb des Tags zwar wie gewollt schwarz ausgegeben, doch ist er immernoch in dieser komischen Schrift (im HTML - Code steht "<code>bla</code>". Der Code sieht ungefähr so aus:
Code:
<?php
$text = 'bla bla bla, irgend ein text hier ...[ code]<?php
$text = "bla bla bla";
echo $text;
?>[ /code]und hier noch irgend ein text nach dem [ code] - tag';
$text = parse_text($text, 1, 1);
echo $text;
function parse_text($text, $allow_code, $allow_smilies)
{
if($allow_code == 1)
{
ob_start();
highlight_string("$text");
$text = ob_get_contents();
ob_end_clean();
$text = preg_replace("/\[code\](.*?)\[\/code\]/si", "<blockquote><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif, Tahoma\">Syntax Highlighting:</font><br><hr size=\"1\"><font face=\"Courier New, Courier\">\\1</font><hr size=\"1\"></blockquote>", $text);
$text = preg_replace("/\[(b|i|u)\](.*?)\[\/(\\1)\]/si","<\\1>\\2</\\1>", $text);
}
if($allow_smilies == 1)
{
smilie-shit-here
}
return $text;
}
?>
solanum
einfacherere Frage hoffe ich: Warum geht $text = preg_replace("/\[code\](.*?)\[\/code\]/si", parse_syntax(\\2), $text); nicht? Liegt am 2. Operator und ist auch irgendwie klar, aber wie sage ich ihm, dass er die Funktion aufrufen soll mit dem Stringteil, der Zwischen den [ code] [/ code] - Tags steht?
Comment