1

我有一个这样的字符串:xxxxxxx=921919291&arg3=3729ABNTSC980z2MNM3573&arg2=2025102&arg1=7e266505e183fcb31d0ba493008fa9f881af6746

我只想保留xxxxxxx=921919291(这个是可变的,所以我不能使用strpos)

我已经尝试过爆炸,&然后只显示 0 一个,但我在同一个变量中有很多字符串,所以它不会很好。

STR_REPLACE似乎不太好,因为在角色之后的所有=角色都是可变的。

4

3 回答 3

8

使用 parse_str

$str = "xxxxxxx=921919291&arg3=3729ABNTSC980z2MNM3573&arg2=2025102&arg1=7e266505e183fcb31d0ba493008fa9f881af6746";
parse_str($str);
echo $xxxxxxx;

您还可以将值放入数组中,如下所示:

$str = "xxxxxxx=921919291&arg3=3729ABNTSC980z2MNM3573&arg2=2025102&arg1=7e266505e183fcb31d0ba493008fa9f881af6746";
parse_str($str, $output);
echo $output['xxxxxxx'];

更多信息可以在这里找到:http: //php.net/manual/en/function.parse-str.php

于 2013-05-08T19:27:17.027 回答
0

尝试这个:

echo array_shift(explode('&', $string));
于 2013-05-08T19:29:24.263 回答
0

您应该查看phps capture groups,这样的表达式应该对您进行排序:

^([^&]+)

这将填充捕获组 1,使用 preg_match 调用的参数作为数组元素访问该组。

于 2013-05-08T19:30:02.700 回答