diff options
Diffstat (limited to 'phpBB/includes/bbcode.php')
-rw-r--r-- | phpBB/includes/bbcode.php | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php index c34092f35c..6d73e470a8 100644 --- a/phpBB/includes/bbcode.php +++ b/phpBB/includes/bbcode.php @@ -70,7 +70,6 @@ class bbcode } } - if (count($str['search'])) { $message = str_replace($str['search'], $str['replace'], $message); @@ -307,38 +306,11 @@ class bbcode function bbcode_second_pass_code($type, $code) { - $code = stripslashes(str_replace("\r\n", "\n", $code)); + $code = stripslashes($code); switch ($type) { case 'php': - $str_from = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}', '.', '@'); - $str_to = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}', '.', '@'); - - $code = str_replace($str_to, $str_from, $code); - - $remove_tags = FALSE; - if (!preg_match('/\<\?.*?\?\>/is', $code)) - { - $remove_tags = TRUE; - $code = "<?php $code ?>"; - } - - ob_start(); - highlight_string($code); - $code = ob_get_contents(); - ob_end_clean(); - - if ($remove_tags) - { - $code = preg_replace('!^<code>[\n\r\s\t]*<font color="#[a-z0-9]+">[\n\r\s\t]*(<font color="#[a-z0-9]+">)<\?php (.*)\?></font>[\n\r\s\t]*(</font>)[\n\r\s\t]*</code>[\n\r\s\t]*!is', '\1\2\3', $code); - } - else - { - $code = preg_replace('!^<code>[\n\r\s\t]*<font color="#[a-z0-9]+">[\n\r\s\t]*(.*)</font>[\n\r\s\t]*</code>[\n\r\s\t]*!is', '\1', $code); - } - break; - default: $code = str_replace("\t", ' ', $code); $code = str_replace(' ', ' ', $code); |