webForumDet fria alternativet

Hela länken fram till sista slash

PHP

10 svar · 302 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Hur gör man för att http://www.server.com/test2/test3/info.php ska bli http://www.server.com/test2/test3/
alltså ta bort allt bakom sista snedstrecket?

Medlem sedan dec. 2002258 inlägg
#2
<?
function decodeUrl($url) {
$url = str_replace("http://","",$url);
$url_blocks = explode("/", $url);
array_reverse($url_blocks);
array_shift($url_blocks);
array_reverse($url_blocks);
$new_url = "http://";
foreach ($url_blocks as $blocks) {
$new_url = .= $blocks."/";
}

return $new_url;
}

$getUrl = decodeUrl("http://www.server.com/test2/test3/info.php");
?>

Väldigt oprövad!

Medlem sedan mars 20011 346 inlägg
#3

Får detta fel:
Parse error: parse error, unexpected T_CONCAT_EQUAL in c:\inetpub\wwwroot\test2\test3\info.php on line 10

ändrar jag denna rad (10):
$new_url = .= $blocks."/";

till:
$new_url .= $blocks."/";

så blir det :
http://www.server.com/test2/test3/info.php/

Medlem sedan dec. 2002258 inlägg
#4

Den där funktionen sög, pröva så här istället! den ska funka den har jag testat!

<?
function decodeUrl($url) {
$url = str_replace("http://","",$url);
$url_blocks = explode("/", $url);

$arr_num = count($url_blocks)-1;
$new_url = array_slice($url_blocks, 0, $arr_num);

$output = "http://";
foreach ($new_url as $block) {
	$output .= $block."/";
}

return $output;

}

$getUrl = decodeUrl("http://www.server.com/test2/test3/info.php");

?>
Medlem sedan mars 20011 346 inlägg
#5

Superbra! Tack!

Medlem sedan sep. 2001118 inlägg
#6

testa

$new_url = preg_replace("/^(.*\/).*$/", "\$1", $url);

Medlem sedan aug. 2001153 inlägg
#7

Går det inte o göra lite lättare/snabbare? ;)

$url ="http://www.server.com/test2/test3/info.php";
echo strrev(strstr(strrev($url), '/'));

eller varför inte

$url ="http://www.server.com/test2/test3/info.php";
echo substr($url,0,strrpos($url,"/")+1);
Medlem sedan juli 20039 inlägg
#8

Jag måste säga att jag håller med Kent.J, varför krångla till det i onödan...? :)

Medlem sedan mars 20011 346 inlägg
#9

Det e ju sant.....najs!

Medlem sedan mars 20011 346 inlägg
#10

om man vill ha det såhär då?
http://www.server.com/test2/

alltså ta bort den sista katalogen och sidan...

Medlem sedan mars 20011 346 inlägg
#11

fixade det...om det här nu var så bra ;)

$url ="http://www.server.com/test2/test3/info.php";
$a= substr($url,0,strrpos($url,"/"));
$b= strrev(strstr(strrev($a), '/'));
echo $b;

272 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)