# URL speichern und Ausgeben



## ohnenamen (17. April 2008)

Hallo,

wie schaffe ich es mit JS die aktuell aufgerufene URL in einer Var zu speichern und ausgeben zu lassen?

Ich habe zb dieses URL: http://www.meineurl.de/seitenbereich/test_2345.html

und will hier den letzten Teil speichern (ohne .html)

Ich muss also irgendwie die URL mit JS splitten, just wie?


----------



## Sven Mintel (17. April 2008)

Wie wärs bspw. mit split() ?

Ich persönlich würde die Dateiendung eher per replace() abschneiden.


----------



## ohnenamen (17. April 2008)

gut, aber ich scheiter am letzten, hier mal das script:

```
var zeichenkette = document.URL;
var assel= zeichenkette.split ('/');
document.write ('Der URL enth\u00e4lt insgesamt ' + assel.length +
    ' durch / getrennte Worte<br>');
for (var i = 0; i < assel.length; i++)
  document.write ('parameter[' + i + ']: ' + assel[i] + '<br>');
document.write ('<br>');
```

ich weiß jetzt nicht, wie ich nicht den ganzen URL durchlaufen soll, sondern vom gezählten nur den letzten und davon halt noch .html oder .htm wegschnippel.

*kopfbrech*


----------



## Sven Mintel (17. April 2008)

Daher mein Hinweis auf replace() 
replace() hat den Vorteil, dass es mit regulären Ausdrücken arbeitet, du musst dort also nicht angeben, welche Endung genau entfernt werden soll, sondern nur einen Ausdruck finden, welcher auf alle möglichen Endungen zutrifft:
	
	
	



```
document.write(String(document.URL).replace(/\.[a-z\d]+$/i,''));
```


----------



## ohnenamen (17. April 2008)

hmm komm ich nich mit klar.

bei dem doc.write habe ich ja auch nur die ausgabe der url.

kannst du mir bitte ein bsp geben wo ich sehe wie das mit replace klappt?
was ich über die bibo erfahren habe ist folgendes:
	
	
	



```
var str = document.URL; 
document.write(str.replace(/.html/, ""));
```

soweit ja schonmal toll, aber ich muss das letzte etwas was nach dem letzten / kommt vom .html befreien und eier da herum


----------



## Sven Mintel (17. April 2008)

ohnenamen hat gesagt.:


> hmm komm ich nich mit klar.
> 
> bei dem doc.write habe ich ja auch nur die ausgabe der url.



Warum das?

```
<script type="text/javascript">
<!--
url='http://irgendeinedomain.de/irgendeinedatei.html'
document.write(String(url).replace(/\.[a-z\d]+$/i,''));
//Ausgabe: http://irgendeinedomain.de/irgendeinedatei
//-->
</script>
```


----------



## ohnenamen (17. April 2008)

hmm, was bei mir klappt ist das hier:


```
//URL: http://www.testseite.de/testscripta_12.htm

var asdf = document.URL;
document.write(asdf.replace(/.htm/,""));


//ausgabe: http://www.testseite.de/testscripta_12
```

aber ich muss ja bei der replacevariante noch das http://www.testseite.de/ wegbekommen.
und das kann variieren. das kann mal http://www.testseite.de/underorder1/blubb.html
oder http://www.testseite.de/uderordner2005/blubb_2333.htm sein.

daher muss ich ja vom "array" das letzte erkennen und alles davor abschneiden


----------



## Quaese (17. April 2008)

Hi,

versuch mal eine Kombination aus *replace* und *split*:

```
var strURL = "http://www.testseite.de/uderordner2005/blubb_2333.htm";
document.write(strURL.split("/")[strURL.split("/").length-1].replace(/\.[a-z\d]+$/i,''));
```
Ciao
Quaese


----------



## Sven Mintel (17. April 2008)

Oder mach es mit match() und einem geklammerten Suchmuster:
	
	
	



```
String(location.pathname).match(/([^\/\\]+)\.[a-z\d]+$/ig);
document.write(RegExp.$1);
```


----------

