Ignore code blocks when extracting tags
authorHypolite Petovan <hypolite@mrpetovan.com>
Wed, 30 Jan 2019 01:39:05 +0000 (20:39 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Wed, 30 Jan 2019 01:39:05 +0000 (20:39 -0500)
src/Content/Text/BBCode.php

index e0190c0..794410a 100644 (file)
@@ -1743,7 +1743,7 @@ class BBCode extends BaseObject
 
                // Clean up the HTML by loading and saving the HTML with the DOM.
                // Bad structured html can break a whole page.
-               // For performance reasons do it only with ativated item cache or at export.
+               // For performance reasons do it only with activated item cache or at export.
                if (!$try_oembed || (get_itemcachepath() != "")) {
                        $doc = new DOMDocument();
                        $doc->preserveWhiteSpace = false;
@@ -1959,7 +1959,7 @@ class BBCode extends BaseObject
         $string = preg_replace('/#\[url\=([^\[\]]*)\](.*?)\[\/url\]/ism', '#$2', $string);
 
         // ignore anything in a code block
-        $string = preg_replace('/\[code\](.*?)\[\/code\]/sm', '', $string);
+        $string = preg_replace('/\[code.*?\].*?\[\/code\]/sm', '', $string);
 
         // Force line feeds at bbtags
         $string = str_replace(['[', ']'], ["\n[", "]\n"], $string);