diff --git a/Core.js b/Core.js
index 9c89319..c922743 100644
--- a/Core.js
+++ b/Core.js
@@ -234,7 +234,6 @@ class SimonUp {
return `${title}${rest}`;
});
- // Explizit deklarierte Regeln für die Schleife
const inlineRules = [
{ tag: 'strong', symbol: '\\*\\*' },
{ tag: 'span style="font-weight: 500;"', symbol: '\\*' },
@@ -247,18 +246,17 @@ class SimonUp {
{ tag: 'code', symbol: '`' }
];
- // Klassische Schleife verhindert Scope-Verwirrungen des Parsers
+ // Hier nutzen wir nun eine absolut sichere String-Verkettung für den RegExp-Konstruktor
for (const rule of inlineRules) {
- let regex = new RegExp(`${rule.symbol}(.+?)\/${rule.symbol}`, 'g');
+ let regex = new RegExp(rule.symbol + '(.+?)\\x2F' + rule.symbol, 'g');
html = html.replace(regex, `<${rule.tag}>$1${rule.tag.split(' ')[0]}>`);
- let resetRegex = new RegExp(`${rule.symbol}(.+?)(?=)`, 'g');
+ let resetRegex = new RegExp(rule.symbol + '(.+?)(?=)', 'g');
html = html.replace(resetRegex, `<${rule.tag}>$1${rule.tag.split(' ')[0]}>`);
}
html = html.replace(//g, '');
- // Absolut isolierte Definition für alignMap
const alignMap = { l: 'left', r: 'right', c: 'center', j: 'justify' };
html = html.replace(/>([lrcj])\s+(.+?)\s*\/>/g, (m, dir, content) => {
return `
${content}
`;