String.prototype.parseMarkdown = function () { /* _ ._ _ _. ._ | _| _ ._ |_) _. ._ _ o ._ _ | | | (_| | |< (_| (_) \/\/ | | | (_| | _> | | | (_| _| */ var markdown = "\n" + this + "\n\n"; // fügt dem Anfang & Ende Zeilenumbrüche hinzu, zur weiteren Verarbeitung //BLOCKELEMENTE markdown = markdown.replace(/\n(\>{1}(((.+)\n{1})*))/g, "
$1
") // erkennt und umschließt Zitate (blockquote) .replace(/\n\>/g, " ") // löscht überflüssige ">" .replace(/
\>/g, "
") // löscht erstes ">" Eines Zitates .replace(/(\n\*)(?=\n)/g, "$1 ") // erkennt Leere Listenpunkte .replace(/(\n\d+\.[ ](((.*)([\n][\d ]+[. ])?.*)*))/g, "\n
    $1\n
") // erkennt und umschließt nummerierte Listen (ol) .replace(/\n(?:(\d+)\.[ ]((.*)(\n[ ][ ]+.*)*))|\n\d+\.(?=\n)/g, '
  • $2
  • ') // erkennt Listenelemente (li) einer nummerierten Liste und setzt die korrekte value .replace(/\n\*{1}[ ](((.*)([\n][\* ][ ])?.*)*)/g, "\n") // erkennt und umschließt unnummerierte Listen (ul) .replace(/\n(?:\*{1}[ ]((.*)(\n[ ][ ].*)*))|\n\*(?=\n)/g, "\n
  • $1
  • ") // erkennt Listenelemente (li) einer unnumerierten Liste .replace(/!(?:([^\)\n]*)\n([^\)\n]*))\)/g, '!$1$2)') // entfernt Zeilenumbrüche in Bildern (IE 9) .replace(/\n\s{0,3}#{2}\s(.*)/g, "\n

    $1

    ") // erkennt und umschließt h2-Überschriften .replace(/\n\s{0,3}#{1}\s(.*)/g, "\n

    $1

    ") // erkennt und umschließt h1-Überschriften .replace(/[ ]\#+(<\/h\d>)/g, "$1"); // entfernt Schließende Rauten //PARAGRAPHEN & INLINE-ELEMENTE markdown = markdown.replace(/\n(([^<\n]+\n)+)(?=\n)/g, "

    $1

    ") // findet Paragraphen ohne Blockelemente und umschließt sie .replace(/^\n|\n+$/g, "") // entfernt "\n" am Anfang & Ende des Strings .replace(/\*{2}([^*\n]*(\*[^*\n]+\*[^*\n]*)*)\*{2}/g, "$1") // erkennt **fetten Text** .replace(/\*{1}([^*\n]+)\*{1}/g, "$1") // erkennt *kursiven Text* .replace(/!\[(.*)]\(([^\s]*)\s\"(.*)\"\)/g, '$1') // erkennt Bilder (img) mit src, alt & title .replace(/\[([^\]]*)\]\(([^\)"]*)(?:"([^"]*)")?\)/g, '$1') // erkennt Links mit opt. Titel .replace(/([^"])(https?:\/\/[^\.]*\..{1,4}\/?.*)(\n|\s)/g, '$1$2$3') // erkennt Links in der Form http://der-link.de .replace(/(<\/h\d>|

    |