gpt4 book ai didi

php - 正则表达式可以解决这个问题吗?

转载 作者:行者123 更新时间:2023-12-04 22:31:49 26 4
gpt4 key购买 nike

页面:/index.php?page=6&test=1&test2=2

下面的代码从 strip 的 page=6 中删除,这样我就可以将我们的新页面添加到 url 并将 $url_without_page_var 再次添加回我们的链接:

$_SERVER['argv'][0]
// Displays: page=6&test=1&test2=2

 $url_without_page_var=preg_replace('/page=(\d+)/i','',$_SERVER['argv'][0]);
// Displays: &test=1&test2=2

好的,这样我就可以从 page=6&test=1&test2=2 中取出 page=6然后我可以更改页码并将其全部添加回去。

我的问题通常是 URL 中的页面并不总是在相同的位置,它可能不是第一个或最后一个项目这就是当 URL 不正确时会发生的情况;

/page.php?&**test=1&test2=2 **ERROR-HERE-ALSO page=9

是否可以解决此问题?

最佳答案

$_GET 变量提供了一个包含所有通过 URL 设置的变量的数组。 $_REQUEST 是所有 GETPOST 变量集的数组。这是鱼:

$url_string = "index.php?";
foreach( $_GET as $k => $v ){
if( $k != "key_you_dont_want"){ // <-- the key you don't want, ie "page"
if( $url_string != "index.php?" )
$url_string .= "&"; // Prepend ampersands nicely
$url_string .= $k . "=" . $v;
}
}

正则表达式对于这个问题有点矫枉过正。希望这是有道理的。过去几周我一直在编写 Python 和 Javascript。 PHP 感觉像是倒退了一步。

编辑:这段代码让我更快乐。我实际上测试了它,而不是盲目地打字和交叉手指。

unset( $_GET["page"] );

$c = count($_GET);
$amp = "";
$url_string = "test.php";

if( $c > 0 ) {
$url_string .= "?";
foreach( $_GET as $k => $v ){
$url_string .= $amp . $k . "=" . $v;
$amp = "&";
}
}

关于php - 正则表达式可以解决这个问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com