protected override void ProcessPage(Page p, EditStatus edit) { if (p.GetNamespace() != 0) return; p.Load(); var changes = new List<string>(); p.InsertPlaceholders(GeneralExtensions.Placeholder.Default); foreach (var replacement in Replacements.Where(replacement => p.text.Contains(replacement.Key))) { p.text = p.text.Replace(replacement.Key, replacement.Value); changes.Add(replacement.Key + " → " + replacement.Value); } foreach (var replacement in RegexReplacements) { var pattern = replacement.Key; var replace = replacement.Value; pattern.Replace(p.text, match => { var replaceWith = RegexParseReplaceWithString(match, replace); changes.Add(match.Value + " → " + replaceWith); return replaceWith; }); } p.RemovePlaceholders(); if (changes.Count > 0) { edit.Save = true; edit.EditComment = "Ersetzt: " + string.Join(", ", changes); } }