diff --git a/inc/config.php b/inc/config.php
index afc4ceaa..a1ced0fc 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -42,7 +42,8 @@
'file_icons' => Array(),
'footer' => Array(),
'stylesheets' => Array(),
- 'additional_javascript' => Array()
+ 'additional_javascript' => Array(),
+ 'markup' => Array()
);
/* End ignore */
@@ -319,8 +320,6 @@
// Automatically convert things like "..." to Unicode characters ("…")
$config['auto_unicode'] = true;
- // Use some Wiki-like syntax (''em'', '''strong''', ==Heading==, etc)
- $config['wiki_markup'] = true;
// Whether to turn URLs into functional links
$config['markup_urls'] = true;
@@ -356,12 +355,32 @@
// This will make your imageboard more vulnerable to flood attacks.
$config['quick_reply'] = false;
+/*
+ * ====================
+ * Markup settings
+ * ====================
+ */
+
+ // "Wiki" markup syntax ($config['wiki_markup'] in pervious versions):
+ $config['markup'][] = Array("/'''(.+?)'''/m", "\$1");
+ $config['markup'][] = Array("/''(.+?)''/m", "\$1");
+ $config['markup'][] = Array("/\*\*(.+?)\*\*/m", "\$1");
+ $config['markup'][] = Array("/(^|\n)==(.+?)==\n?/m", "\$2");
+
+ // Highlight PHP code wrapped in tags (PHP 5.3.0+)
+ $config['markup'][] = Array(
+ '/^<code>(.+)<\/code>/s',
+ function($matches) {
+ return '' . highlight_string(html_entity_decode($matches[1]), true) . '
';
+ }
+ );
+
/*
* ====================
* Image settings
* ====================
*/
-
+
// For resizing, max thumbnail size
$config['thumb_width'] = 255;
$config['thumb_height'] = 255;
diff --git a/inc/functions.php b/inc/functions.php
index b999df8c..51af3332 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -1440,11 +1440,12 @@
$body = utf8tohtml($body);
- if($config['wiki_markup']) {
- $body = preg_replace("/(^|\n)==(.+?)==\n?/m", "$2", $body);
- $body = preg_replace("/'''(.+?)'''/m", "$1", $body);
- $body = preg_replace("/''(.+?)''/m", "$1", $body);
- $body = preg_replace("/\*\*(.+?)\*\*/m", "$1", $body);
+ foreach($config['markup'] as $markup) {
+ if(is_string($markup[1])) {
+ $body = preg_replace($markup[0], $markup[1], $body);
+ } elseif(is_callable($markup[1])) {
+ $body = preg_replace_callback($markup[0], $markup[1], $body);
+ }
}
if($config['markup_urls']) {