---
title: "Plocka ut adress"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/126309-plocka-ut-adress"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "nitro2k01"
published: "2005-04-13T14:06:41.000Z"
updated: "2008-08-04T19:04:08.000Z"
replies: 5
views: 477
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/126309-plocka-ut-adress"
---

# Plocka ut adress

## #1 — nitro2k01, 2005-04-13T14:06Z

Jag behöver ett skript som gör följande:
Givet en URL i en variabel, så ska skriptet avgöra om det är en katalog eller fil, dett ska kollas genom att se om det finns en punkt sist i URL'en samt om den slutar på /. Alltså:
Följande ska alltså tolkas som en...
**fil: <http://www.doman.com/abc/def/ghi.html>
mapp: <http://www.doman.com/abc/def/ghi.html/>
mapp: <http://www.doman.com/abc/def>
mapp: <http://www.doman.com/abc/def/>**
Vidare ska den plocka ut allt som kommer efter domännamnet och en katalog, i detta fall abc. Alltså vill jag i respektive exempel ovan få ut:
**/def/ghi.html
/def/ghi.html/
/def
/def/**
Allt detta gärna med en (eller flera) regexps.

Permalänk: https://www.webforum.nu/p/126309

## #2 — Peter S, 2005-04-13T16:15Z

```php
if (preg_match('/\\.[^\\/]+$/i', $str)){
    print "This is a file";
}
else {
    print "This is a folder";
}

print preg_replace('/^https?:\\/\\/(?:[^\\/]+\\/){2}(.*)$/', '\\/${1}', $str);
```

Permalänk: https://www.webforum.nu/p/1591475

## #3 — nitro2k01, 2005-04-14T09:03Z

Avkänningen av fil/mapp funkar som jag vill. Dock verkar inte ersättningen lyckas. Den exakta strängen som jag vill ta bort är <http://www2.hemsida.net/dtd> i början av adressen.
Dock verkar varken

```
print preg_replace('http\:\/\/www2\.hemsida\.net\/dtd', '', $str);
// eller
print preg_replace('http://www2.hemsida.net/dtd', '', $str);
```

 get detta resultat.

Permalänk: https://www.webforum.nu/p/1591897

## #4 — Peter S, 2005-04-14T09:39Z

Eftersom jag inte är någon PHP-guru testade jag mitt uttryck [här](http://pcre.nophia.de/evaluate/1837a35d9e81b590d0a8afc0d0287189/index.php#output) med bra resultat. Sedan knåpade jag ihop koden ovan med hjälp av manualen. Någon med bättre koll kanske kan se vad som gått snett.

 :)

Permalänk: https://www.webforum.nu/p/1591909

## #5 — nitro2k01, 2005-04-15T11:30Z

Med lite trixande lyckades jag få till en lösning som funkar för mitt syfte:

```php
if (preg_match('/\.[^\/]+$/i', $str)){
    print "This is a file";
}
else {
    print "This is a folder";
}

echo '/' . preg_replace('/^https?:\/\/(?:[^\/]+\/){2}/', '', "http://www2.hemsida.net/dtd/vadsomhelst");
```

Den sista raden var jag tvungen att ändra på för att den skulle funka. Det beror troligen på skillnader i PHP-versionerna eller något.

Permalänk: https://www.webforum.nu/p/1592473

## #6 — Skogenskonung, 2008-08-04T19:04Z

Hur avgöra URL?

Hej!

Min ordinarie webbadress är <https://www.kolarbyn.se>, men även <https://www.skogenskonung.se> och <https://www.wildsweden.com> och <https://www.wildsweden.se> och <https://www.moosesafari.com> går till samma webbplats. Nu vill jag göra så att alla som går in på <https://www.moosesafari.com> och <https://www.wildsweden.com> ska komma direkt till vår engelska startsida som har följande URL:

<http://www.kolarbyn.se/start.asp?lang=en>

(Dvs att en språk-cookie sätts till engelska.)

Hur avgör jag vilken webbadress som användaren skrivit in? Jag antar att det är enklast att avgöra det genom en if-sats och sedan redirect till ovanstående url?

Tacksam för kodhjälp!

Mvh Marcus

Permalänk: https://www.webforum.nu/p/2128583

---

Tråden på webben: https://www.webforum.nu/amne/php/126309-plocka-ut-adress
