Url Zerlegen und ein wert wieder geben!?

harderph

Erfahrenes Mitglied
Morgen!
Ich habe ein problem mit zerlegen von urls!
wenn das die url ist:

http://www.blabla.com/media/gucken?gucken=medianame

Wie bekomme ich die zerlegt? Ausser "medianame" ist der rest statisch!
ich möchte das "medianame" dann woanders einsetzen!
ich habe nichts brauchbares gefunden was mir weit helfen würde vorallem wenn ich das datenabank basierend machen möchte!
Danke schon mal!
 
Zuletzt bearbeitet:
Schöner finde ich:

PHP:
<?php
$url = 'http://www.blabla.com/media/gucken?gucken=medianame';

echo substr(strrchr($url, '='), 1);

?>
 
Wenn der Begriff "gucken" immer auftaucht, dann kanns du den Begriff ganz einfach durch GET auslesen:

$_GET[gucken] entspricht dann dem Begriff "medianame".
 
Wenn der Begriff "gucken" immer auftaucht, dann kanns du den Begriff ganz einfach durch GET auslesen:

$_GET[gucken] entspricht dann dem Begriff "medianame".

Ich ging natürlich davon aus, dass es sich nicht um die eigentlche URL handelt, sondern um eine Fremdurl, die z. B. in ein Formfield eingegeben wird, o. ä.

Sonst wäre Berdines Lösung wirklich die Beste...

"Schön" ist geschmackssache :p

Man könnte es auch technisch beschreiben... Meine Lösung erstellt keinen Array, und ist somit weniger speicherintensiv.

Und hier noch ein MiniBenchmark, der nicht wirklich repräsentativ ist, aber ein eindeutiges Ergebnis zeigt.

PHP:
<?php
$start = microtime(true);
for($i = 0; $i < 100000; $i++)
{
	$url = 'http://www.blabla.com/media/gucken?gucken=medianame';

	$var = substr(strrchr($url, '='), 1); 
}
$end = microtime(true);

$final = $end - $start;
echo 'Test took: '.$final.' ms<br>';

unset($start, $end, $url, $var);

$start = microtime(true);
for($i = 0; $i < 100000; $i++)
{
	$url_teil = explode("=", $url);
	$var = $url_teil[1];  
}
$end = microtime(true);

$final = $end - $start;
echo 'Test took: '.$final.' ms<br>';

?>

Test took: 0.107011079788 ms
Test took: 0.266540050507 ms
 
Zuletzt bearbeitet:
Bei 100.000 URL's sehe ich das ein, da hast du recht.

Das nächste mal ersetzte Schön mit effektiver. Ich dachte bei Schön eher an das Aussehen des Code's. ;)

// edit:

Ich bekomme sogar einen noch grösseren unterschied wenn ich das local Teste:

Test took: 0.193775177002 ms
Test took: 0.564260005951 ms
 
Zuletzt bearbeitet:
Zurück