Der Martin: string bei ? abschneiden, wenn vorhanden

Beitrag lesen

Hi,

Du möchtest die Funktion parse_url() benutzen.
Danke. Spontaner Nachteil:

$url1 = "example.com/abc.php?a=b";

var_dump(parse_url($url1));
/*
array(2) {
  ["path"]=>
  string(19) "example.com/abc.php"
  ["query"]=>
  string(3) "a=b"
}
/
$url1 = "http://example.com/abc.php?a=b";
var_dump(parse_url($url1));
/

array(4) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(11) "example.com"
  ["path"]=>
  string(8) "/abc.php"
  ["query"]=>
  string(3) "a=b"
}
*/


>   
> also einmal der Domainteil in "path", einmal in "host".  
  
das liegt daran, dass du im Fall 1 keine ordentliche URL-Angabe hast. Wenn die Protokollangabe und die führenden // fehlen, kann parse\_url() nicht ahnen, dass example.com der Hostname sein soll, und geht stattdessen von einer relativen URL aus. Die Felder scheme und host im Ergebnis-Array bleiben folgerichtig leer.  
  

> Aber das lässt sich ja u.U. kontrollieren.  
  
Indem man URLs ordentlich schreibt, ja.  
  
Ciao,  
 Martin  

-- 
Ein Snob ist ein Mensch, der sich auf ein Stachelschwein setzt, ohne eine Miene zu verziehen - nur weil ihm jemand gesagt hat, das sei ein Designersessel.  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(