如何清除字符串php中某些字符后的所有内容?

如何清除字符串php中某些字符后的所有内容?,php,preg-replace,preg-match,Php,Preg Replace,Preg Match,我有几个函数可以清理get和post中的所有内容,但这一个必须更具体一些,我有一个数组可以生成如下链接 array( 1 => http://site/something/another/?get_something=1 2 => http://site/something/another2/?get_something=1 ) 还有一个函数正在清理get和post,但该函数将清除这个数组值中的所有内容,所以我只剩下 httpsitesomethinganotherget_

我有几个函数可以清理get和post中的所有内容,但这一个必须更具体一些,我有一个数组可以生成如下链接

array(
  1 => http://site/something/another/?get_something=1
  2 => http://site/something/another2/?get_something=1
)
还有一个函数正在清理get和post,但该函数将清除这个数组值中的所有内容,所以我只剩下

httpsitesomethinganotherget_Something 1

get\u something=
然后将其清除或替换为get_something=1,类似于

$clear = preg_match('/^[A-Za-z0-9]+$/', $array[1]);
preg_replace("/get_something=".$clear."/i","",$array[1]);

如果您试图解析URL,最好使用
parse\u URL
,删除不需要的查询元素,然后使用
http\u build\u URL
重建。我是这样做的:

for($i = 0; $i < count($linkArray); $i++) {
    // get original link and parse it
    $link = parse_url($linkArray[$i]);

    // replace the query portion
    $link["query"] = "get_something=1";

    // build the new URL
    $linkArray[$i] = $link["scheme"] . "://" . $link["hostname"] . $link["path"] . "?" . $link["query"] . "#" . $link["fragment"]

    // done
}
for($i=0;$i
您应该使用
解析url
,但这里有一个正则表达式实现,以防您好奇:

$urls = array
(
    'http://site/something/another/?get_something=1',
    'http://site/something/another2/?get_something=1',
    'http://site/something/another/?get_something=1&foo=bar',
    'http://site/something/another/?foo=bar&get_something=1',
);

$urls = preg_replace('~[?&]get_something=.*$~i', '', $urls);

print_r($urls);
应输出([]):


因此,您想删除或替换
=
?@Jonahtan Samplson在get\u something=使用parse\u url()解析url并清理“查询”之后的所有内容数组值?@tpaksu-like说我有这样做的函数,因为1,所以不能修改一堆脚本var@Benn使用
parse\u url
不需要大量重写。@Benn我已删除了
http\u build\u url
调用,该调用需要PECL。这个版本没有那么健壮,但应该适合您的需要。这个版本也会清理所有内容/get_something=(.*)/@Benn:噢,我的印象是您想删除关于
get_something
参数的所有内容。要删除所有内容,更简单的是,请检查我的编辑。
Array
(
    [0] => http://site/something/another/
    [1] => http://site/something/another2/
    [2] => http://site/something/another/
    [3] => http://site/something/another/?foo=bar
)