176,201
עריכות
מהדורה קמא (שיחה | תרומות) אין תקציר עריכה |
מהדורה קמא (שיחה | תרומות) (בדיקה) |
||
(22 גרסאות ביניים של אותו משתמש אינן מוצגות) | |||
שורה 19: | שורה 19: | ||
var content = textArea.val(); | var content = textArea.val(); | ||
var anchorRegex = /\{\{עוגן1\|([^}]+)\}\}/gi; | var anchorRegex = /\{\{(עוגן1?|anchor1?)\|([^}]+)\}\}/gi; | ||
var anchors = {}; | var anchors = {}; | ||
// אסוף את כל ההופעות של {{ | // אסוף את כל ההופעות של {{עוגן|}} ואת הערך שלהן | ||
var match; | var match; | ||
while ((match = anchorRegex.exec(content)) !== null) { | while ((match = anchorRegex.exec(content)) !== null) { | ||
var key = match[1].toLowerCase().trim(); | var key = match[2].toLowerCase().trim(); | ||
var template = match[1].toLowerCase().trim(); | |||
if (!anchors[key]) { | if (!anchors[key]) { | ||
anchors[key] = []; | anchors[key] = { count: 0, template: '', replacements: [] }; | ||
} | } | ||
anchors[key].count++; | |||
anchors[key].push(match | anchors[key].template = template; | ||
anchors[key].replacements.push(match[0]); | |||
} | } | ||
$.each(anchors, function (key, | $.each(anchors, function (key, data) { | ||
if ( | if (data.count > 1) { | ||
// אם יש יותר מהופעה אחת של אותו ערך | // אם יש יותר מהופעה אחת של אותו ערך | ||
var counter = 1; | var counter = 1; | ||
var templateToUse = (data.template === 'עוגן1' || data.template === 'anchor1') ? 'עוגן' : data.template; | |||
data.replacements.forEach(function (replacement, index) { | |||
var replacementCount = index + 1; | |||
var newKey = key + replacementCount; | |||
var newReplacement = '{{' + templateToUse + '|' + key + counter + '|' + key + '}}'; | |||
content = content.replace(replacement, newReplacement); | |||
counter++; | counter++; | ||
}); | }); | ||
} | } | ||
}); | }); | ||
// חילוף כל המופעים | |||
content = content.replace(/\{\{עוגן\|[^|]+?1/g, '{{עוגן1'); | |||
// מעדכן את תיבת הטקסט עם השינויים | |||
textArea.val(content); | textArea.val(content); | ||
alert('הוחלפו עוגנים כפולים בהצלחה'); | alert('הוחלפו עוגנים כפולים בהצלחה'); |