1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74: | /**
* Funktion zum Parsen von PHP-Code
*/
function parsephp($code) {
$code = str_replace(">", ">", $code);
$code = str_replace("<", "<", $code);
$code = str_replace("&", "&", $code);
$code = str_replace("[URL]", "", $code);
$code = str_replace("[/URL]", "", $code);
$code = str_replace(""", "\"", $code);
$code = str_replace('$', '\$', $code);
$code = str_replace("<br>", "", $code);
$code = str_replace("<br />", "", $code);
$code = stripslashes($code);
/*
* Code parsen:
*/
ob_start();
$oldlevel = error_reporting(0);
highlight_string($code);
error_reporting($oldlevel);
$buffer = ob_get_contents();
ob_end_clean();
$return = $buffer;
/*
* Zeilen berechnen:
*/
$return = str_replace("<br />", "\n", $return);
$return = str_replace("\t", "", $return);
$codeteile = preg_split('#\n#', $return);
$laenge = sizeof($codeteile);
for($j=0;$j<sizeof($codeteile);$j++) {
$zeile = $j + 1;
if($j < ($laenge -1)) {
$linenumbers .= "$zeile: \n";
} else {
$linenumbers .= "$zeile:";
}
}
/*
* Daten ausgeben (TPL-Engine):
*/
global $template;
$charray = array(
"{code}" => $return,
"{height}" => $height,
"{linenumbers}" => $linenumbers
);
$outvar = $template->open("php_code", $charray);
return $outvar;
}
$phpsearch[] = '/\[php\](.*)\[\/php\]/Uesi';
$phpreplace[] = 'parsephp(\'\1\')';
$text = preg_replace($phpsearch, $phpreplace, $text); |