Content deleted Content added
Waldyrious (talk | contribs) allow dashes and underscores in the parameter names |
Waldyrious (talk | contribs) don't process citation templates with templates in the parameter values, to prevent mangling them |
||
Line 3:
// Fill an array with one entry per each recognized citation template
// Note: the regex should be changed to allow parameter values that are themselves templates,
var originalTemplates = txt.value.match(/\{\{[Cc]it(ation|(ar|e) [a-z ]+) *\n? *\|[^}]+\}\}/g);▼
// e.g. {{cite book | author = John Doe | title = The Book | year = 1234 | ref = {{sfnRef|Doe (1234)}} | isbn = 0-12345-678-9 }}
// I got as far as this: /(\{\{[Cc]it(?:ation|(?:ar|e) [a-z ]+)\s*)(\|\s*[^=]+=\s*(?:\{\{)?.+(?:\}\})?\s*)+(\}\})/g
▲ var originalTemplates = txt.value.match(/\{\{[Cc]it(ation|(ar|e) [a-z ]+) *\n? *\|[^{}]+\}\}/g);
// Duplicate the array, for editing. We need to keep the original strings for the replacement step
var tweakedTemplates = originalTemplates.slice();
|