在PHP的最后一个Ampersand之后删除链接

时间:2012-12-04 23:10:17

标签: php url

所以我认为分裂已不再好或应该避免。

有没有办法删除LAST Ampersand和链接的其余部分。

之前的链接: http://www.websitehere.com/subdir?var=somevariable&someotherstuff&textiwanttoremove

后链接: http://www.websitehere.com/subdir?var=somevariable&someotherstuff

现在我正在使用这个脚本:

<?php
    $name = http_build_query($_GET);
    // which you would then may want to strip away the first 'name='
    $name = substr($name, strlen('name='));
    //change link to a nice URL
    $url = rawurldecode($name);
?>

<?php echo "$url"; ?>

它需要整个网址(包括所有&符号)...问题是,链接来自的网站添加了返回值&amp; RETURNVALUEHERE,我需要删除最后一个“&amp;”以及之后的其他文本。

谢谢!

罗布

4 个答案:

答案 0 :(得分:1)

使用substrstrrpos

$url = substr($url, 0, strrpos($url, '&'));

答案 1 :(得分:0)

如果您的输入已经是$ _GET,则删除最后一个值对可能只是:

http_build_query(array_slice($_GET, 0, -1));

答案 2 :(得分:0)

你可以使用strrpos()之类的

$url = substr($orig_url, 0, strrpos($orig_url, "&"));

答案 3 :(得分:0)

在不知道真实网址的情况下,我能够想出这个:

<?php

// The string:
$string = "http://www.websitehere.com/subdir?var=somevariable&someotherstuff&textiwanttoremove";

// get the position of the last "&"
$lastPos = strrpos($string, "&");

// echo out the final string:
echo substr($string, 0, $lastPos);