Forum Doku Wiki Blog

Forumsarchiv 2002, Januar
prob bei http:// mit replace

archivierte Beiträge lesen

  1. (JAVASCRIPT) prob bei http:// mit replace von wolli, 13. 01. 2002, 03:42

prob bei http:// mit replace

Der folgende Beitrag wurde am 13. 01. 2002, 03:42 Uhr von wolli veröffentlicht.

hallo Leute,

vom FTPschock einigermassen erholt :-)
hab schon wieder ein kleines prob.

laut münz kann man mit replace:

var vormals = "Elke Hinz";
 var jetzt = vormals.replace(/Hinz/,"Kunz, geb. Hinz");

Zeichen/Wörter ersetzen.

habe folgende Probematik:
lese mit document.URL die komplette URL Zeile aus.
also zB. http://www.wolfgag-mueller.de/
diese kann mit www. oder ohne www. vorkommen.
Jetzt würde ich gerne mit replace http:// und www. und am Ende den /
entfernen.

mit normalen Zeichen klappt das ja, aber bei / oder // gibts ne Fehlermeldung.

hat jemand eine Idee ??

Danke
Gruß
wolli

prob bei http:// mit replace

Der folgende Beitrag wurde am 13. 01. 2002, 07:30 Uhr von NorbertKlein veröffentlicht.

<script type="text/javascript" language="JavaScript">
<!--
 url = document.URL;
 url = url.replace(/http:\/\//,"");
 url = url.replace(/\//,"");
 document.write(url);
//-->
</script>

 oder

<script type="text/javascript" language="JavaScript">
<!--
 url = document.hostname;
 document.write(url);
//-->
</script>

Erklärung:
Du musst je einen Backslash(\) vor die Slashes(/) machen, da Slashes u.a. zur Syntax der regulären Ausdrücke gehören, der Browser meint, dass er, wenn du:
 url = url.replace(/http:///,"");
angibst, "http:" ersetzen soll. Die zwei restlichen Slashes passen ihm dann nicht, darum die Fehlermeldung.
Setzt du vor den zwei in der Zeichenkette enthaltenen Slashes jeweils einen Backslash:
 url = url.replace(/http:\/\//,"");
werden die Slashes zur Zeichenkette hinzugezählt.

Bei url = url.replace(/\//,""); solltest du aber aufpassen, dass keine URLs mit Unterverzeichnissen auftauchen, die werden sonst nämlich unbrauchbar gemacht:
"http://selfhtml.teamone.de/javascript/objekte/" -> "selfhtml.teamone.dejavascriptobjekte"
Um das zu vermeiden, kannst du eigentlich gleich document.hostname verwenden (hätte mir auch früher einfallen können).

Weiterführend:
document.hostname -
http://selfhtml.teamone.de/javascript/objekte/location.htm#hostname
Syntax der regulären Ausdrücke - http://selfhtml.teamone.de/javascript/objekte/regexp.htm
Steuerzeichen bei Zeichenketten -
http://selfhtml.teamone.de/javascript/sprache/notationen.htm#zeichenketten

Gruß
Norbert

prob bei http:// mit replace

Der folgende Beitrag wurde am 13. 01. 2002, 12:31 Uhr von wolli veröffentlicht.

Dankeschön Norbert,
funz einwandfrei :-)

Gruß
Wolli

> <script type="text/javascript" language="JavaScript">
> <!--
> url = document.URL;
> url = url.replace(/http:\/\//,"");
> url = url.replace(/\//,"");
> document.write(url);
> //-->
> </script>

> oder

> <script type="text/javascript" language="JavaScript">
> <!--
> url = document.hostname;
> document.write(url);
> //-->
> </script>

> Erklärung:
> Du musst je einen Backslash(\) vor die Slashes(/) machen, da Slashes u.a. zur Syntax der regulären Ausdrücke gehören, der Browser meint, dass er, wenn du:
> url = url.replace(/http:///,"");
> angibst, "http:" ersetzen soll. Die zwei restlichen Slashes passen ihm dann nicht, darum die Fehlermeldung.
> Setzt du vor den zwei in der Zeichenkette enthaltenen Slashes jeweils einen Backslash:
> url = url.replace(/http:\/\//,"");
> werden die Slashes zur Zeichenkette hinzugezählt.

> Bei url = url.replace(/\//,""); solltest du aber aufpassen, dass keine URLs mit Unterverzeichnissen auftauchen, die werden sonst nämlich unbrauchbar gemacht:
> "http://selfhtml.teamone.de/javascript/objekte/" -> "selfhtml.teamone.dejavascriptobjekte"
> Um das zu vermeiden, kannst du eigentlich gleich document.hostname verwenden (hätte mir auch früher einfallen können).

> Weiterführend:
> document.hostname -
> http://selfhtml.teamone.de/javascript/objekte/location.htm#hostname
> Syntax der regulären Ausdrücke - http://selfhtml.teamone.de/javascript/objekte/regexp.htm
> Steuerzeichen bei Zeichenketten -
> http://selfhtml.teamone.de/javascript/sprache/notationen.htm#zeichenketten

> Gruß
> Norbert

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4