Hi nochmal!
So, und jetzt tu ich mal was sinnvolleres, nämlich das Anti-Du-Nervst-Link-Umwandel-Script in JS zu proggen :-)
And here it is - ich hab die Perl-Version ein bißchen modifiziert, sprich, an die Aussprache von der alten Werbung für die Schmidt-Show-Seite angepasst (kennt die noch einer?).
Jetzt kann ich nur noch hoffen, dass mir nicht wieder die Tab-Einrückungen rausgenommen werden.
MfG Simon
PS: PAF, kannst du mir mal den Ausdruck "Anti-Du-nervst-Link" erklären ? (nur für's Lexikon natürlich :)
<schnipp>
/*
Das Harald-Schmidt-Show-URL-Encoding
Kompatibel zum AtomicEggs-Anti-Du-nervst-Link-Model
Achtung: beim Hinzufügen neuer Elemente ist zu beachten,
dass kein Element Teilstring eines Elementes darunter ist.
(Wäre z.B. "@" vor "http" aufgelistet, so würde beim Dekodieren
"h@ehtehpeh" herrauskommen und nicht "http")
*/
var encoding = new Array();
encoding.push(new Array("http", "hatehtehpeh"));
encoding.push(new Array("www.", "wehwehwehpunkt"));
encoding.push(new Array(".de", "punktdeheh"));
encoding.push(new Array(":", "doppelpunkt"));
encoding.push(new Array("//", "doppelslash"));
encoding.push(new Array("/", "slash"));
encoding.push(new Array("\", "backslash"));
encoding.push(new Array(".", "punkt"));
encoding.push(new Array("-", "bindestrich"));
encoding.push(new Array("?", "query"));
encoding.push(new Array("=", "gleich"));
encoding.push(new Array("&", "und"));
encoding.push(new Array("%", "prozent"));
encoding.push(new Array("~", "tilde"));
encoding.push(new Array("@", "at"));
encoding.push(new Array("#", "raute"));
encoding.push(new Array(",", "komma"));
encoding.push(new Array(";", "semikolon"));
encoding.push(new Array("1", "eins"));
encoding.push(new Array("2", "zwei"));
encoding.push(new Array("3", "drei"));
encoding.push(new Array("4", "vier"));
encoding.push(new Array("5", "fuenf"));
encoding.push(new Array("6", "sechs"));
encoding.push(new Array("7", "sieben"));
encoding.push(new Array("8", "acht"));
encoding.push(new Array("9", "neun"));
encoding.push(new Array("0", "null"));
function encode(url)
{
for (var i=0; i<encoding.length; i++)
url = replace(url, encoding[i][0], encoding[i][1]);
return url;
}
function decode(url)
{
for (var i=0; i<encoding.length; i++)
url = replace(url, encoding[i][1], encoding[i][0]);
return url;
}
//Sucht needle in s und ersetzt es durch replacement.
function replace(s, needle, replacement)
{
var pos=0;
while((pos=s.indexOf(needle, pos)) != -1)
{
s = s.substring(0,pos) + replacement + s.substring(pos+needle.length);
pos += replacement.length;
}
return s;
}
//Zum Überprüfen:
alert(decode(encode("http://www.harald-schmidt-show.de")));
</schnipp>