Benutzer:BLueFiSH.as/JS/markup
aus Wikipedia, der freien Enzyklopädie
//
// führt allgemeine Ersetzungen und Rechtschreibänderungen durch // FUNKTION !!!NICHT!!! OHNE NACHKONTROLLE ÜBER "Änderungen zeigen" AUSFÜHREN !!! function ReplaceMarkup() { var tbvalue = document.editform.wpTextbox1.value; /* ============================== unnötige Leerzeichen ============================== */ // Tabulatoren im Quelltext in Leerzeichen verwandeln tbvalue = tbvalue.replace(/\t/g, " "); // mehrfache Leerzeichen auf einzelne reduzieren. tbvalue = tbvalue.replace(/ +/g, " "); // unnötige Leerzeichen an Zeilenenden entfernen tbvalue = tbvalue.replace(/ \n/g, "\n"); // mehrfache Leerzeilen auf einzelne reduzieren. tbvalue = tbvalue.replace(/\<p\>/gi, "\n\n"); tbvalue = tbvalue.replace(/\<\/p\>/gi, "\n\n"); tbvalue = tbvalue.replace(/\n{3,}/g, "\n\n"); /* ============================== Vandalismusüberbleibsel entfernen ============================== */ tbvalue = tbvalue.replace(/\'\'\'Fetter\sText\'\'\'/g, ""); tbvalue = tbvalue.replace(/\'\'Kursiver\sText\'\'/g, ""); tbvalue = tbvalue.replace(/\[\[Link\-Text\]\]/g, ""); tbvalue = tbvalue.replace(/\[http\:\/\/www\.beispiel\.de\sLink\-Text\]/g, ""); tbvalue = tbvalue.replace(/\=\=\sÜberschrift\s\=\=/g, ""); tbvalue = tbvalue.replace(/\[\[Bild\:Beispiel\.jpg\]\]/g, ""); tbvalue = tbvalue.replace(/\[\[Media\:Beispiel\.ogg\]\]/g, ""); tbvalue = tbvalue.replace(/\<math\>Formel\shier\seinfügen\<\/math\>/g, ""); tbvalue = tbvalue.replace(/Formel\shier\seinfügen/g, ""); tbvalue = tbvalue.replace(/\<nowiki\>Unformatierten\sText\shier\seinfügen\<\/nowiki\>/g, ""); tbvalue = tbvalue.replace(/Unformatierten\sText\shier\seinfügen/g, ""); /* ============================== Überschriften formatieren ============================== */ // vor und hinter dem Überschriftstext mit Leerzeichen auffüllen tbvalue = tbvalue.replace(/\n=====/g, "\n<h5>"); tbvalue = tbvalue.replace(/=====\n/g, "<sh5>\n"); tbvalue = tbvalue.replace(/\n====/g, "\n<h4>"); tbvalue = tbvalue.replace(/====\n/g, "<sh4>\n"); tbvalue = tbvalue.replace(/\n===/g, "\n<h3>"); tbvalue = tbvalue.replace(/===\n/g, "<sh3>\n"); tbvalue = tbvalue.replace(/\n==/g, "\n<h2>"); tbvalue = tbvalue.replace(/==\n/g, "<sh2>\n"); tbvalue = tbvalue.replace(/\n<h5>/g, "\n===== "); tbvalue = tbvalue.replace(/<sh5>\n/g, " =====\n"); tbvalue = tbvalue.replace(/\n<h4>/g, "\n==== "); tbvalue = tbvalue.replace(/<sh4>\n/g, " ====\n"); tbvalue = tbvalue.replace(/\n<h3>/g, "\n=== "); tbvalue = tbvalue.replace(/<sh3>\n/g, " ===\n"); tbvalue = tbvalue.replace(/\n<h2>/g, "\n== "); tbvalue = tbvalue.replace(/<sh2>\n/g, " ==\n"); // unnötige Fettschreibung in Überschriften entfernen tbvalue = tbvalue.replace(/== '''/g, "== "); tbvalue = tbvalue.replace(/''' ==/g, " =="); // Doppelpunkte werden nicht in Überschriften verwendet tbvalue = tbvalue.replace(/: ==/g, " =="); // Weblinks immer als Weblinks nicht als Externe Links, Links oder Webseiten tbvalue = tbvalue.replace(/== Externe Links ==/gi, "== Weblinks =="); tbvalue = tbvalue.replace(/== external links ==/gi, "== Weblinks =="); tbvalue = tbvalue.replace(/== Links ==/gi, "== Weblinks =="); tbvalue = tbvalue.replace(/== Webseiten ==/gi, "== Weblinks =="); tbvalue = tbvalue.replace(/== Websites ==/gi, "== Weblinks =="); tbvalue = tbvalue.replace(/== Weblink ==/gi, "== Weblinks =="); /* ============================== Sonstiges ============================== */ // [[Hamburg | Berliner]] zu [[Hamburg|Berliner]], [[Berlin|Berliner]] zu [[Berlin]]er // very special Dank an Benutzer:D!! tbvalue = tbvalue.replace(/\[\[[ \t]*([^\]|]+?)[ \t]*\|[ \t]*([^\]]+?)[ \t]*\]\]/g, "[[$1|$2]]"); tbvalue = tbvalue.replace(/\[\[([^|\]]+)\|\1([^|\]]+)\]\]/g, "[[$1]]$2"); // Leerzeichen vor und hinter doppelten Pipes, bessere Editierbarkeit in Tabellen tbvalue = tbvalue.replace(/\|\|thumb\|/g, "|thumb|"); // welche Idis machen sowas... tbvalue = tbvalue.replace(/\|\|/g, " || "); //doppeltes Gänsefüßchen reduziert tbvalue = tbvalue.replace(/\"\"/g, "\""); // entfernen da unnötig tbvalue = tbvalue.replace(/style=\"\"/g, ""); tbvalue = tbvalue.replace(/<\!-- GEOnet -->/g, ""); tbvalue = tbvalue.replace(/\{\{Vorlage: /gi, "{{"); tbvalue = tbvalue.replace(/\{\{Vorlage:/gi, "{{"); // im Artikelraum (zumindest nicht in Städteartikeln) nicht zu verwendende <tt> und <code> entfernen tbvalue = tbvalue.replace(/<tt>/gi, ""); tbvalue = tbvalue.replace(/<\/tt>/gi, ""); tbvalue = tbvalue.replace(/<code>/gi, ""); tbvalue = tbvalue.replace(/<\/code>/gi, ""); // die verschiedensten Formen der Zeilenumbrüche durch korrekte ersetzen tbvalue = tbvalue.replace(/<br>/gi, "<br />"); tbvalue = tbvalue.replace(/<\/br>/gi, "<br />"); tbvalue = tbvalue.replace(/<br\/>/gi, "<br />"); tbvalue = tbvalue.replace(/<\/br\s>/gi, "<br />"); tbvalue = tbvalue.replace(/<br\/\s>/gi, "<br />"); // korrekte Groß-Schreibung, deutsche Namen für Namensräume tbvalue = tbvalue.replace(/\{\{koordinate/g, "{{Koordinate"); tbvalue = tbvalue.replace(/\{\{Koordinate_Text/g, "{{Koordinate Text"); tbvalue = tbvalue.replace(/\{\{Koordinate_Artikel/g, "{{Koordinate Artikel"); tbvalue = tbvalue.replace(/\{\{Koordinate_Text_Artikel/g, "{{Koordinate Text Artikel"); tbvalue = tbvalue.replace(/\[\[category:/gi, "[[Kategorie:"); tbvalue = tbvalue.replace(/\[\[kategorie:/g, "[[Kategorie:"); tbvalue = tbvalue.replace(/\[\[Kategorie: /g, "[[Kategorie:"); tbvalue = tbvalue.replace(/\[\[Image:/gi, "[[Bild:"); tbvalue = tbvalue.replace(/\[\[bild:/g, "[[Bild:"); tbvalue = tbvalue.replace(/\[\[Bild: /g, "[[Bild:"); // unnötiges rausschmeißen (thumb ist ohne Angabe immer right) tbvalue = tbvalue.replace(/\|right\|thumb\|/g, "|thumb|"); tbvalue = tbvalue.replace(/\|thumb\|right\|/g, "|thumb|"); tbvalue = tbvalue.replace(/px\|right\|/g, "px|"); tbvalue = tbvalue.replace(/\|left\|thumb\|/g, "|thumb|left|"); // einfach nur Reihenfolge: wie-wo // "z.B." immer zu "zum Beispiel", etc. tbvalue = tbvalue.replace(/\[\[1\. Weltkrieg/g, "[[Erster Weltkrieg|Ersten Weltkrieg"); tbvalue = tbvalue.replace(/\[\[2\. Weltkrieg/g, "[[Zweiter Weltkrieg|Zweiten Weltkrieg"); tbvalue = tbvalue.replace(/1\. Weltkrieg/g, "Ersten Weltkrieg"); tbvalue = tbvalue.replace(/2\. Weltkrieg/g, "Zweiten Weltkrieg"); // diverses tbvalue = tbvalue.replace(/\[\[ /g, "[["); tbvalue = tbvalue.replace(/ \]\]/g, "]]"); tbvalue = tbvalue.replace(/\( /g, "\("); tbvalue = tbvalue.replace(/ \)/g, "\)"); tbvalue = tbvalue.replace(/\ä\;/g, "ä"); tbvalue = tbvalue.replace(/\Ä\;/g, "Ä"); tbvalue = tbvalue.replace(/\ö\;/g, "ö"); tbvalue = tbvalue.replace(/\Ö\;/g, "Ö"); tbvalue = tbvalue.replace(/\ü\;/g, "ü"); tbvalue = tbvalue.replace(/\Ü\;/g, "Ü"); tbvalue = tbvalue.replace(/\ß\;/g, "ß"); tbvalue = tbvalue.replace(/\&dagger\;/g, "†"); tbvalue = tbvalue.replace(/\&rarr\;/g, "→"); tbvalue = tbvalue.replace(/\»\;/g, "»"); tbvalue = tbvalue.replace(/\«\;/g, "«"); tbvalue = tbvalue.replace(/\&hellip\;/g, "…"); tbvalue = tbvalue.replace(/\%27/g, "'"); tbvalue = tbvalue.replace(/\%2C/g, ","); tbvalue = tbvalue.replace(/\.2C/g, ","); tbvalue = tbvalue.replace(/\.3B/g, ";"); tbvalue = tbvalue.replace(/(\D)\.28/g, "$1("); tbvalue = tbvalue.replace(/(\D)\.29/g, "$1)"); tbvalue = tbvalue.replace(/\.C3\.A4/g, "ä"); tbvalue = tbvalue.replace(/\.C3\.B6/g, "ö"); tbvalue = tbvalue.replace(/\.C3\.BC/g, "ü"); tbvalue = tbvalue.replace(/\.C3\.9F/g, "ß"); tbvalue = tbvalue.replace(/\%28/g, "("); tbvalue = tbvalue.replace(/\%29/g, ")"); tbvalue = tbvalue.replace(/\%C3\%A4/g, "ä"); tbvalue = tbvalue.replace(/\%C3\%B6/g, "ö"); tbvalue = tbvalue.replace(/\%C3\%BC/g, "ü"); tbvalue = tbvalue.replace(/\%C3\%9F/g, "ß"); tbvalue = tbvalue.replace(/<li>/g, "*"); tbvalue = tbvalue.replace(/<\/li>/g, ""); tbvalue = tbvalue.replace(/<ul>/g, ""); tbvalue = tbvalue.replace(/<\/ul>/g, ""); tbvalue = tbvalue.replace(/<br \/>\n\n/g, "\n\n"); tbvalue = tbvalue.replace(/<b>/g, "'''"); tbvalue = tbvalue.replace(/<\/b>/g, "'''"); // Tausenderpunkte (genaue Nachkontrolle erforderlich) tbvalue = tbvalue.replace(/\,000/g, ".000"); tbvalue = tbvalue.replace(/ 000/g, ".000"); tbvalue = tbvalue.replace(/ 000/g, ".000"); // entplenken tbvalue = tbvalue.replace(/ \,/g, ", "); tbvalue = tbvalue.replace(/ \./g, ". "); tbvalue = tbvalue.replace(/ \;/g, ";"); tbvalue = tbvalue.replace(/ \:/g, ":"); // und nochmal das vom Anfang tbvalue = tbvalue.replace(/ +/g, " "); tbvalue = tbvalue.replace(/\n{3,}/g, "\n\n"); // TODO: alert() bei diversen Sachen, die von Hand korrigiert werden müssen. // TODO: alert() bei Koordinate mit 60er Sekunden! // TODO: wenn nur Überschriften Ebene 3/Ebene 1 vorhanden, und keine Ebene 2, alle Ebenen eins rauf/runter setzen document.editform.wpTextbox1.value = tbvalue; if (wgUserName != "BLueFiSH.as") {document.editform.wpDiff.click();} } //