-1

谁能帮我快速解决问题?

我有一个从 api 返回的字符串,字符串如下所示:

$year = "181?make=2008"

所以我使用 substr($year, 0,3); 取出前 3 位数字。IE 181 问题是,现在有些字符串在 ? 之前只有 2 位数字。像这样 $year = "54?make=2008"

所以,如果我不知道 ? 之前会有多少位数,但我知道它总是以 ? 结尾 有没有办法可以提取之前的所有数据?并把它变成一个新的变量......

先感谢您!

4

3 回答 3

2
$year = strstr("181?make=2008","?");
于 2013-02-15T19:02:01.537 回答
1

正则表达式将努力获得第一部分。就像是

preg_match("^([0-9]+)\?",$string,$match)

如果是你想要的年份,你可以使用

$year = substr("181?make=2008",-4)
于 2013-02-15T19:04:14.083 回答
1

list($data, $junk) = explode("?",$year); $data 将保存“?”之前的所有内容 然后,你也可以做一些我想象的正则表达式,但对我来说这更容易阅读。

于 2013-02-15T19:01:47.077 回答