diff --git a/app/assets/javascripts/discourse/components/markdown.js b/app/assets/javascripts/discourse/components/markdown.js index afa9f27a6a9..6a485f96afa 100644 --- a/app/assets/javascripts/discourse/components/markdown.js +++ b/app/assets/javascripts/discourse/components/markdown.js @@ -142,9 +142,9 @@ Discourse.Markdown = { converter.hooks.chain("postConversion", function(text) { if (!text) return ""; - // don't do @username mentions inside
 blocks
-      text = text.replace(/
([\s\S]*@[\s\S]*)<\/pre>/gi, function(wholeMatch, inner) {
-        return "
" + (inner.replace(/@/g, '@')) + "
"; + // don't do @username mentions inside
 or  blocks
+      text = text.replace(/<(pre|code>([\s\S]*?@[\s\S]*?)<\/(pre|code)>)/gi, function(wholeMatch, m1, m2, m3) {
+        return "<" + m1 + ">" + (m2.replace(/@/g, '@')) + "";
       });
 
       // add @username mentions, if valid; must be bounded on left and right by non-word characters