provide syntax based [colour] highlighting on code blocks for popular languages. I'm not happy with the line height on the list elements but couldn't see where this was defaulted. This uses the syntax [code=xxx]some code snippet[/code], where xxx represents a code/language style - with about 18 builtins.
This commit is contained in:
@@ -491,6 +491,11 @@ function bb_code($match) {
|
||||
return '<code class="inline-code">' . trim($match[1]) . '</code>';
|
||||
}
|
||||
|
||||
function bb_highlight($match) {
|
||||
if(in_array($match[1],['php','css','mysql','sql','abap','diff','html','perl','ruby',
|
||||
'vbscript','avrc','dtd','java','xml','cpp','python','javascript','sh']))
|
||||
return text_highlight($match[2],$match[1]);
|
||||
}
|
||||
|
||||
|
||||
// BBcode 2 HTML was written by WAY2WEB.net
|
||||
@@ -566,6 +571,15 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
||||
$Text = str_replace(">", ">", $Text);
|
||||
|
||||
|
||||
// Check for [code] text here, before the linefeeds are messed with.
|
||||
// The highlighter will unescape and re-escape the content.
|
||||
|
||||
if (strpos($Text,'[code=') !== false) {
|
||||
$Text = preg_replace_callback("/\[code=(.*?)\](.*?)\[\/code\]/ism", 'bb_highlight', $Text);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Convert new line chars to html <br /> tags
|
||||
|
||||
// nlbr seems to be hopelessly messed up
|
||||
|
||||
Reference in New Issue
Block a user