Zot structures doco integrated into the Zot page. Added nowrap option to [code] BBcode tag.

This commit is contained in:
Andrew Manning
2016-12-28 14:58:25 -05:00
parent 46e4bd5fe0
commit 13768fdb9b
2 changed files with 114 additions and 49 deletions

View File

@@ -511,6 +511,20 @@ function bb_code($match) {
return '<code class="inline-code">' . trim($match[1]) . '</code>';
}
function bb_code_options($match) {
if(strpos($match[0], "<br />")) {
$class = "";
} else {
$class = "inline-code";
}
if(strpos($match[1], 'nowrap')) {
$style = "overflow-x: auto; white-space: pre;";
} else {
$style = "";
}
return '<code class="'. $class .'" style="'. $style .'">' . trim($match[2]) . '</code>';
}
function bb_highlight($match) {
$lang = ((in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby',
'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','json','sh']))
@@ -933,6 +947,11 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = preg_replace_callback("/\[code\](.*?)\[\/code\]/ism", 'bb_code', $Text);
}
// Check for [code options] text
if (strpos($Text,'[code ') !== false) {
$Text = preg_replace_callback("/\[code(.*?)\](.*?)\[\/code\]/ism", 'bb_code_options', $Text);
}
// Check for [spoiler] text
$endlessloop = 0;
while ((strpos($Text, "[/spoiler]")!== false) and (strpos($Text, "[spoiler]") !== false) and (++$endlessloop < 20)) {