A
Astror Enales
Hallo Forum.
also folgendes problem.
ich baue grade einen syntax-highlighter und habe das problem das er schlüsselwörter in texten ("....") und in kommentaren ebenfalls einfärbt.
das einfärben läuft wie folgt:
jetzt hatte ich überlegt, das man in das preg_replace der texte und kommentare ja ein strip_tags einbauen kann und es mit "<span style='color: red'>"" . strip_tags("$1") . ""</span>" probiert aber das funkt nicht, weil er wirklich nur das "$1" als text überprüft und nicht das ergebnis was dort eingesetzt wird.
Hat wer eine idee?
also folgendes problem.
ich baue grade einen syntax-highlighter und habe das problem das er schlüsselwörter in texten ("....") und in kommentaren ebenfalls einfärbt.
das einfärben läuft wie folgt:
PHP:
$keywords = '/\b(int|string|new|function|for|if|foreach|this|override)\b/';
// Schlüsselwörter
$code = preg_replace(
$keywords,
"<span style='color: blue'>$1</span>",
$code
);
// Texte "..."
$code = preg_replace(
'/"(.*?)"/',
"<span style='color: red'>"$1"</span>",
$code
);
// Kommentare
$code = preg_replace(
'/(\/\/)(.+)\s/',
"<span style='color: green; background-color: white;'>$0</span>",
$code
);
$code = preg_replace(
'/(\/\*.*?\*\/)/s',
'<span style="color: green; background-color: white;">$0</span>',
$code
);
jetzt hatte ich überlegt, das man in das preg_replace der texte und kommentare ja ein strip_tags einbauen kann und es mit "<span style='color: red'>"" . strip_tags("$1") . ""</span>" probiert aber das funkt nicht, weil er wirklich nur das "$1" als text überprüft und nicht das ergebnis was dort eingesetzt wird.
Hat wer eine idee?