diff --git a/public/script.js b/public/script.js
index a773d180d..2f39ff3c6 100644
--- a/public/script.js
+++ b/public/script.js
@@ -1045,7 +1045,7 @@ function messageFormatting(mes, ch_name, isSystem, isUser) {
if (power_user.auto_fix_generated_markdown) {
mes = fixMarkdown(mes);
}
-
+
if (this_chid != undefined && !isSystem)
mes = mes.replaceAll("<", "<").replaceAll(">", ">"); //for welcome message
if ((this_chid === undefined || this_chid === "invalid-safety-id") && !selected_group) {
@@ -1053,7 +1053,15 @@ function messageFormatting(mes, ch_name, isSystem, isUser) {
.replace(/\*\*(.+?)\*\*/g, "$1")
.replace(/\n/g, "
");
} else if (!isSystem) {
- mes = mes.replace(/\".+?\"|\u201C.+?\u201D/gm, '$&
') // Wrap quotes in
+ mes = mes.replace(/```[\s\S]*?```|``[\s\S]*?``|`[\s\S]*?`|(\".+?\")|(\u201C.+?\u201D)/gm, function (match, p1, p2) {
+ if (p1) {
+ return '"' + p1.replace(/\"/g, "") + '"
';
+ } else if (p2) {
+ return '“' + p2.replace(/\u201C|\u201D/g, "") + '”
';
+ } else {
+ return match;
+ }
+ });
mes = mes.replaceAll('\\begin{align*}', '$$');
mes = mes.replaceAll('\\end{align*}', '$$');