[php]url exploden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hallo,

hoe kan ik ervoor zorgen dat ik een deel van de url in een var krijg?

bijvoorbeeld:

http://subdomein.mijndomein.nl

en dat dan in een var de waarde subdomein wordt gezet

MAAR

het probleem is dus dat de map via 2 manieren te bereiken is,
namelijk ook via http://www.mijndomein.nl/subdomein

en dat dan in een var de waarde subdomein wordt gezet


hoe doe ik dit? _/-\o_

Acties:
  • 0 Henk 'm!

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Ik ben dom denk ik. Ik snap het echt niet. Normaal de url exploden lukt nog maar het tweede gedeelte ? :?

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 12:54
Heel simpel dat kan met Regular Expressions.

Acties:
  • 0 Henk 'm!

  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08 15:02
Heel simpel zegt ie dan :D

Human Bobby


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja daar had ik al gekeken maar kom er echt niet uit?? 8)7 :?

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 12:54
Verwijderd schreef op 09 januari 2004 @ 23:03:
[...]
ja daar had ik al gekeken maar kom er echt niet uit?? 8)7 :?
Al eens zelfstandig GEZOCHT naar, om maar eens een gooi te doen, bijvoorbeeld tutorials op google.com of hier in de GoT search?

Omdat ik in een lieve bui ben :) Hier is een regular expression tutorial. Is wel gebasseerd op Perl maar het basis idee is hetzelfde voor PHP.

[ Voor 27% gewijzigd door Sybr_E-N op 09-01-2004 23:10 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Zou je ook omheen kunnen werken, kijken of www. in de url zit, zo nee moet je een ander stukje uit de request_uri hebben :)

Acties:
  • 0 Henk 'm!

Verwijderd

heel simpel:

begin bij positie 7 (http:// = 7 chars), en copy vanaf daar tot de positie van de eerste punt :) Met wat zoekwerk weet je dan welke functies je moet werken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 09 januari 2004 @ 23:09:
heel simpel:

begin bij positie 7 (http:// = 7 chars), en copy vanaf daar tot de positie van de eerste punt :) Met wat zoekwerk weet je dan welke functies je moet werken.
bedankt voor de tip!

maar hoe dan nu in het 2de geval? :*)

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Daarvoor kun je $_SERVER['REQUEST_URI'] gebruiken. Die is dan dus 'http://woei.domein.tld' of 'http://www.domein.tld/woei'. Wat je moet doen is met bepaalde functies (explode, substr etc) de eerste letters tot de punt zoeken (in het eerste geval woei, 2e www). Indien dit deel 'www' is, weet je dus dat je strreverse met '/' moet gebruiken om de juiste map te ontleden :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • Billie
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:27
Verwijderd schreef op 09 januari 2004 @ 23:11:
[...]

bedankt voor de tip!

maar hoe dan nu in het 2de geval? :*)
Misschien dat substr handig is. :)

[ Voor 3% gewijzigd door Billie op 09-01-2004 23:13 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
welke functie is nou het makkelijkst om te kijken of in de url www voorkomt? :? B)

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Zeg, ga je nog eens wat testen of hoe zit dat :? Je hebt nu genoeg functienamen in de schoot geworpen gekregen om het hele script mee te maken :o
  • haal de http:// (eerste 7 karakters) weg
  • deel de overgebleven string op met '.' als scheidings-char
  • kijk of $arraynaam[0] gelijk is aan 'www'
  • if so, ga door, anders wijs je $arraynaam[0] toe als waarde aan de subdomein-var
  • je hebt de string al gesplit op '.', landsextensie (tld) is dan dus $arraynaam[2], daarna komt een '/' gevolgd door de mapnaam
Is dat niet vrij letterlijk :? :/

/edit:
Foei! strstr is sneller, eregi maakt nl. gebruik van regexps!

[ Voor 20% gewijzigd door Thijsmans op 09-01-2004 23:36 ]

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:/
Prammenhanger schreef op 09 januari 2004 @ 23:35:
Zeg, ga je nog eens wat testen of hoe zit dat :? Je hebt nu genoeg functienamen in de schoot geworpen gekregen om het hele script mee te maken :o
  • [b]haal de http:// (eerste 7 karakters) weg[b]
  • deel de overgebleven string op met '.' als scheidings-char
  • kijk of $arraynaam[0] gelijk is aan 'www'
  • if so, ga door, anders wijs je $arraynaam[0] toe als waarde aan de subdomein-var
  • je hebt de string al gesplit op '.', landsextensie (tld) is dan dus $arraynaam[2], daarna komt een '/' gevolgd door de mapnaam
Is dat niet vrij letterlijk :? :/

/edit:

[...]


Foei! strstr is sneller, eregi maakt nl. gebruik van regexps!
hoe? :/ :/ B)
:X

Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
Kijk een op http://nl3.php.net/manual/nl/function.preg-match.php
Daar staat al iets van het matchen van een domein

Bovendien is preg_match sneller als eregi

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
En dat doen we dus niet, je zoekt zelf maar uit welke functie je gaat gebruiken om te kijken of www. voorkomt in de request_uri

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
courvoisier schreef op 09 januari 2004 @ 23:40:
[...]

En dat doen we dus niet, je zoekt zelf maar uit welke functie je gaat gebruiken om te kijken of www. voorkomt in de request_uri
oke ik heb al wat gevonden, maar request_uri geeft toch niet de volledige url terug? :'(

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • DanielB
  • Registratie: Augustus 2003
  • Laatst online: 21-08 17:20
Je kan ook op hotscripts.com kijken. Het is een scriptje dat je daar makkelijk vindt, sommige ISPs maken er ook gebruik van.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
had ik al gekeken, maar ik had ff snel op lycos getest, en de output was:

code:
1
wmc2/Webmaster/index.php


en dus niet de volledige url 8)7

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Verwijderd schreef op 09 januari 2004 @ 23:48:
[...]

had ik al gekeken, maar ik had ff snel op lycos getest, en de output was:

code:
1
wmc2/Webmaster/index.php


en dus niet de volledige url 8)7
Sught... lees nog maar eens het deel $_SERVER door dan. Staat er toch echt tussen.

offtopic:
/me mompelt wat over hostnames...

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
Ik ben heel liev vandaag :>
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*  idee van prammerhanger uit gewerkt
Dit kan makkelijker met een preg_match maar ik nu eenmaal niet zo goed in regexp */
$url = str_replace("http://","",$_SERVER['REQUEST_URI'];
$url = explode(".",$url);
if($url[0] != "www")
{
   /* $url[0] = hoogstwaarschijnlijk het subdomein */
   $subdomein = $url[0];
   unset($url);
}
else
{
   /* De waarde staat achter .tdl */
   $url[2] = explode("/",$url[2];
   $subdomein = $url[0][1];
   unset($url);

}


Dit moet je een heel eind in de richting helpen dacht ik zo.
Zo niet jammer dan.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Suepahfly schreef op 09 januari 2004 @ 23:52:
Ik ben heel liev vandaag :>
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*  idee van prammerhanger uit gewerkt
Dit kan makkelijker met een preg_match maar ik nu eenmaal niet zo goed in regexp */
$url = str_replace("http://","",$_SERVER['REQUEST_URI'];
$url = explode(".",$url);
if($url[0] != "www")
{
   /* $url[0] = hoogstwaarschijnlijk het subdomein */
   $subdomein = $url[0];
   unset($url);
}
else
{
   /* De waarde staat achter .tdl */
   $url[2] = explode("/",$url[2];
   $subdomein = $url[0][1];
   unset($url);

}


Dit moet je een heel eind in de richting helpen dacht ik zo.
Zo niet jammer dan.
ja zoiets was ik ook al op het spoor gekomen, maar tog heel erg bedankt _/-\o_

Acties:
  • 0 Henk 'm!

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 17-09 17:05
Als je de manual door leest zie je dat $_SERVER['REQUEST_URI'] alleen de bestandsnaam bevat bv. '/index.html'
Je moet dus nog een manier zoeken om de voledige in getypte url uit te lezen.

Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Mag ik even melden dat ik het in 4 effectieve regels (zonder <? etc) heb gedaan? :+

Om je toch te laten zoeken, het staat 'ergens' in mijn GoT-map @ server :+

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Prammenhanger schreef op 10 januari 2004 @ 00:11:
Mag ik even melden dat ik het in 4 effectieve regels (zonder <? etc) heb gedaan? :+

Om je toch te laten zoeken, het staat 'ergens' in mijn GoT-map @ server :+
PHP:
1
2
3
4
5
6
7
8
<?php
 $host = explode('.', $_SERVER['HTTP_HOST']);
 $req_uri = substr($_SERVER['REQUEST_URI'], 1);
 $firstslash = strpos($req_uri, '/');
 $subdomein = ( $host[0] == 'www' ? substr($req_uri, 0, $firstslash) : $host[0] );

 print $subdomein;
?>

>:)

[ Voor 11% gewijzigd door supakeen op 10-01-2004 00:18 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sorry is al opgelost :9

[ Voor 98% gewijzigd door Verwijderd op 10-01-2004 13:11 ]

Pagina: 1