Christoph: Anfang einer JavaScript-Lösung

Beitrag lesen

Moin.

Hier ein Schnipsel JavaScript, der den Inhalt der Code-Blöcke einer Nachricht liest:

  
function br2nl(string) {  
    return string.replace(/<br>/g, '\n');  
}  
  
function stripTags(string) {  
    return string.replace(/<[^<>]+>/g, '');  
}  
  
function unencode(string) {  
    return string.replace(/&lt;/g, '<').replace(/&gt;/g, '>').  
        replace(/&quot;/g, '"').replace(/&amp;/g, '&');  
}  
  
function getCodes(type) {  
    var blocks = document.getElementsByTagName('code'),  
        codes = [];  
  
    for(var i = 0; i < blocks.length; ++i) {  
        var block = blocks[i];  
  
        if(block.className !== type)  
            block = null;  
        else for(var current = block.parentNode; current &&  
            current !== document.body; current = current.parenNode) {  
            if(current.nodeName.toLowerCase() === 'code') {  
                block = null;  
                break;  
            }  
        }  
  
        if(block)  
            codes.push(unencode(stripTags(br2nl(block.innerHTML))));  
    }  
  
    return codes;  
}  

Nutzbar z.B. so:

  
var cssCodes = getCodes('css'),  
    htmlCodes = getCodes('html'),  
    jsCodes = getCodes('javascript');  

Die Variablen enthalten ein Array mit den Quellcode-Inhalten der entsprechenden Blöcke. Diese könnten dann z.B. in eine Template-Seite eingesetzt werden...

Christoph