谁能帮我快速解决问题?
我有一个从 api 返回的字符串,字符串如下所示:
$year = "181?make=2008"
所以我使用 substr($year, 0,3); 取出前 3 位数字。IE 181 问题是,现在有些字符串在 ? 之前只有 2 位数字。像这样 $year = "54?make=2008"
所以,如果我不知道 ? 之前会有多少位数,但我知道它总是以 ? 结尾 有没有办法可以提取之前的所有数据?并把它变成一个新的变量......
先感谢您!
$year = strstr("181?make=2008","?");
正则表达式将努力获得第一部分。就像是
preg_match("^([0-9]+)\?",$string,$match)
如果是你想要的年份,你可以使用
$year = substr("181?make=2008",-4)
list($data, $junk) = explode("?",$year); $data 将保存“?”之前的所有内容 然后,你也可以做一些我想象的正则表达式,但对我来说这更容易阅读。