---
title: "Strippa domännamn?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/138050-strippa-domännamn"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mUTANT"
published: "2005-11-21T23:45:00.000Z"
updated: "2005-11-23T07:06:55.000Z"
replies: 9
views: 660
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/138050-strippa-domännamn"
---

# Strippa domännamn?

## #1 — mUTANT, 2005-11-21T23:45Z

Hej

Hittar inte så mycket om det här i forumet, så frågar.

Har någon en ide om hur man skulle kunna strippa vilket domännamn som helst via $\_SERVER\['REMOTE_ADDR'\], t.ex.

<https://www.test.com>
your.file.test.com
test.com

så att man endast får ut: test.com

Vore tacksam för några olika synvinklar på detta.

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

## #2 — emission, 2005-11-21T23:47Z

Det finns många sätt, men en enkel variant är att splitta strängen baserat på punkt, och plocka ut de två sista elementen i arrayen som returneras.

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

## #3 — Melea, 2005-11-22T08:04Z

Finns som sagt många sätt.
Ett är väl att använda sig av reguljära uttryck.

```php
$split_url = preg_split("/[\.]+/", $url);
```

Ett annat är att köra med explode

```php
$split_url = explode(".", $url);
```

I båda exemplen hämtar du ut adressen genom $split_url\[1\] och $split_url\[2\].

Dock otestat. :)

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

## #4 — Peeer, 2005-11-22T10:03Z

> **Melea skrev:**
>
> Finns som sagt många sätt.
> Ett är väl att använda sig av reguljära uttryck.
>
> ```php
> $split_url = preg_split("/[\.]+/", $url);
> ```
>
> Ett annat är att köra med explode
>
> ```php
> $split_url = explode(".", $url);
> ```
>
> I båda exemplen hämtar du ut adressen genom $split_url\[1\] och $split_url\[2\].
> 
> Dock otestat. :)

Förutsatt att adressen man skickar in består av "subdom.domän.toppdomän". Består adressen av "sub1.sub2.domän.toppdomän" eller bara "domän.toppdomän" så blir det fel :)

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

## #5 — Matte, 2005-11-22T10:19Z

Testa med

```
preg_match("/(^|\.)([^\.]+\.[^\.]+)$/", $url, $match);
```

Kolla vad du har i $match\[2\].

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

## #6 — Melea, 2005-11-22T10:37Z

Uhm, det här blev ju bökigare nu när man tänkte efter lite. :)
Matte, ditt uttryck kollar väl inte om domännamnet är ex. co.uk?

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

## #7 — Matte, 2005-11-22T12:14Z

Problemet är väl snarare att få ut domännamnet ur ip-numret.

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

## #8 — Melea, 2005-11-22T12:23Z

Hittade detta när jag sökte på google.

```php
$subs = ''; $domainName = ''; $tld = ''; 

$gTlds = explode(',', str_replace(' ', '', "aero, biz, com, coop, info, 
jobs, museum, name, net, org, pro, travel, gov, edu, mil, int")); 

$cTlds = explode(',', str_replace(' ', '', "ac, ad, ae, af, ag, ai, al, 
am, an, ao, aq, ar, as, at, au, aw, az, ax, ba, bb, bd, be, bf, bg, bh, 
bi, bj, bm, bn, bo, br, bs, bt, bv, bw, by, bz, ca, cc, cd, cf, cg, ch, 
ci, ck, cl, cm, cn, co, cr, cs, cu, cv, cx, cy, cz, de, dj, dk, dm, do, 
dz, ec, ee, eg, eh, er, es, et, eu, fi, fj, fk, fm, fo, fr, ga, gb, gd, 
ge, gf, gg, gh, gi, gl, gm, gn, gp, gq, gr, gs, gt, gu, gw, gy, hk, hm, 
hn, hr, ht, hu, id, ie, il, im, in, io, iq, ir, is, it, je, jm, jo, jp, 
ke, kg, kh, ki, km, kn, kp, kr, kw, ky, kz, la, lb, lc, li, lk, lr, ls, 
lt, lu, lv, ly, ma, mc, md, mg, mh, mk, ml, mm, mn, mo, mp, mq, mr, ms, 
mt, mu, mv, mw, mx, my, mz, na, nc, ne, nf, ng, ni, nl, no, np, nr, nu, 
nz, om, pa, pe, pf, pg, ph, pk, pl, pm, pn, pr, ps, pt, pw, py, qa, re, 
ro, ru, rw, sa, sb, sc, sd, se, sg, sh, si, sj, sk, sl, sm, sn, so, sr, 
st, sv, sy, sz, tc, td, tf, tg, th, tj, tk, tl, tm, tn, to, tp, tr, tt, 
tv, tw, tz, ua, ug, uk, um, us, uy, uz, va, 
vc, ve, vg, vi, vn, vu, wf, ws, ye, yt, yu, za, zm, zw")); 

$tldarray = array_merge($gTlds,$cTlds);   
$testUrl = 'www.examplesite.com.pk'; 
$testUrl = 'http://secure.email.website.co.uk'; 
$testUrl = 'http://username:password@this.is.a.worst.shortly.subdomain.thisIsMyMainWebsite.com.cl';   

if (!strstr($testUrl, 'http://')) {
   $testUrl = "http://$testUrl"; 
} 

$testUrlParsed = parse_url(trim($testUrl)); 
$testUrlHost = $testUrlParsed['host'];   
$domainarray = explode('.', $testUrlHost);  
$top = count($domainarray);   

for ($i = 0; $i < $top; $i++) {
   $_domainPart = array_pop($domainarray);     
   if (!$tld_isReady)   {    
      if (in_array($_domainPart, $tldarray)) {       
         $tld = ".$_domainPart".$tld;     
      } else {
         $domainName = $_domainPart;
         $tld_isReady = 1;
      }
   } else {
      $subs = ".$_domainPart".$subs;
   }
}

echo 'subdomain is: '.substr($subs ,1).' and domain is: '.$domainName.$tld;
```

Dock väldigt otestat, knappt kollat igenom koden. :)
Men vad jag läste så är det vad du söker.

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

## #9 — mUTANT, 2005-11-23T03:15Z

Tack Melea!

Det där är precis vad jag är ute efter, ett script som kan hantera alla typer av domäner med alla typer av subdomäner etc.

Bygger en site med ett affiliatesystem där affiliaten själv kan registrera ett domännamn, lägga till det i sin affiliate profil och peka domänen mot sitens IP. Därefter ska siten plocka fram rätt affiliate_id för domänamnet kunden anlände via.

Vilket skapade lite problem med en vanlig array/split med t.ex .co.uk adresser. Ser nu inga hinder alls för vilka domännamn en affiliate kan använda, så ett stort tack!

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

## #10 — Melea, 2005-11-23T07:06Z

Gott! :)

glöm inte att acceptera tråden som löst

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

---

Tråden på webben: https://www.webforum.nu/amne/php/138050-strippa-domännamn
