Benutzer:BLueFiSH.as/JS/replaceQuoteSigns.js
< Benutzer:BLueFiSH.as | JS
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// führt die Umwandlung von normalen (") Anführungszeichen in typografisch korrekte („“)durch.
// Auch einzelne Anführungszeichen werden umgewandelt (‚‘)
//
// Funktion sicher noch nicht 100 % sicher, daher unbedingte Nachkontrolle erforderlich
//
// Verbesserungsvorschläge oder Codeoptimierungen sind sehr erwünscht.
function ReplaceQuoteSigns()
{ var tv = document.editform.wpTextbox1.value;
// Sonderfälle umwandeln zum Erhalt
tv = tv.replace(/(\w)\=\"/g, "$1§$%");
tv = tv.replace(/\;\"/g, "$%&");
tv = tv.replace(/\"\//g, "%&/");
tv = tv.replace(/\" \//g, "% &/");
tv = tv.replace(/\"\>/g, "%&>");
tv = tv.replace(/(\d)'/g, "$1#~");
tv = tv.replace(/(\w)'(\w)/g, "$1##$2");
// Anführungszeichen umwandeln
// auf - Sonderzeichen davor
tv = tv.replace(/(\s|\(|\|)\"/g, "$1„"); // ("''bla / |"bla
// auf - Sonderzeichen danach
tv = tv.replace(/\"(\w|\[)/g, "„$1"); // "[[bla
// zu - Sonderzeichen davor
tv = tv.replace(/(\w|\.|\!|\?|\])\"/g, "$1“"); // ." / bla]]"
// zu - Sonderzeichen danach
tv = tv.replace(/\"(\s|\]|\.|\,|\;|-|\))/g, "“$1"); // bla"-bla / bla''") / bla"] / bla''". / bla''",
// Ausnahmen zurückkorrigieren
if (tv.search(/‚/) < 0) tv = tv.replace(/‘/g, "'");
tv = tv.replace(/“ \|/g, "\" |");
tv = tv.replace(/“\|/g, "\"|");
tv = tv.replace(/prettytable“/g, "prettytable\"");
tv = tv.replace(/right“/g, "right\"");
tv = tv.replace(/left“/g, "left\"");
tv = tv.replace(/center“/g, "center\"");
tv = tv.replace(/px“/g, "px\"");
tv = tv.replace(/“ align/g, "\" align");
tv = tv.replace(/“ valign/g, "\" valign");
tv = tv.replace(/“ width/g, "\" width");
tv = tv.replace(/“ cell/g, "\" cell");
tv = tv.replace(/“ style/g, "\" style");
tv = tv.replace(/“ bgcolor/g, "\" bgcolor");
tv = tv.replace(/“ col/g, "\" col");
tv = tv.replace(/“\n\|/g, "\"\n|");
tv = tv.replace(/“\n\!/g, "\"\n!");
tv = tv.replace(/\“ ([N|S]),/g, "\" $1,");
tv = tv.replace(/\“ ([O|W])\}\}/g, "\" $1}}");
tv = tv.replace(/\“\ /g, "\" ");
tv = tv.replace(/\“ ([n|s|ö|w])\./g, "\" $1.");
// Sonderfälle zurückwandeln
tv = tv.replace(/\§\$\%/g, "=\"");
tv = tv.replace(/\$\%\&/g, ";\"");
tv = tv.replace(/\%\&\//g, "\"/");
tv = tv.replace(/\% \&\//g, "\" /");
tv = tv.replace(/\%\&\>/g, "\">");
tv = tv.replace(/\#\~/g, "'");
tv = tv.replace(/##/g, "'");
document.editform.wpTextbox1.value = tv;
if (mw.config.get('wgUserName') != "BLueFiSH.as") {document.editform.wpDiff.click();}
}
/*<nowiki> Testbeispiele
Soll das Skript nicht umwandeln:
<ref name="Hallo" />
<br style="clear:both">
You're Havin' Better
{{Koordinate Artikel|40" N, 44" O}}
{{Koordinate Artikel|40" N, 44" O}}
{{Koordinate Artikel|40" n. Br., 13° 24' 39" ö. L.}}
align="|
align="right" |
bla" align
bla" cell
bla" style
px"
bla" bgcolor
bla"
|
bla"
!
Soll das Skript "umwandeln":
und "[[International Sufi Movement]]". Zudem
"Hallo"
Hallo ''"Hallo"'' Hallo
Hallo "''Hallo''" Hallo
==="problematisch"===
''"kursiv"'' und '''"fett"'''
die Kür: 'single' 'quotes' kann das 'Skript' wohl nicht.
Warum 'eigentlich nicht'?
obwohl man "die in Zitaten 'innerhalb von Zitaten' braucht".
Gestern ("Montag") und morgen (''"Mittwoch"'').
"Ich sehe das anders!", sagte er.
Das ist ''"richtig so"'' und ''"das auch!!"'' aber "das auch?"
</nowiki>*/