在符号之前截断php变量

时间:2013-02-15 18:59:04

标签: php truncate substr

任何人都可以帮助我快速解决问题吗?

我有一个从api返回的字符串,字符串是这样的:

$ year =“181?make = 2008”

所以我使用的是substr($ year,0,3);获得前3位数字。 I.E. 181 问题是,现在有些字符串在返回之前只返回2位数字? 就像这个$ year =“54?make = 2008”

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

提前谢谢!

3 个答案:

答案 0 :(得分:2)

$year = strstr("181?make=2008","?");

答案 1 :(得分:1)

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

答案 2 :(得分:1)

正则表达式会努力获得第一部分。像

这样的东西
preg_match("^([0-9]+)\?",$string,$match)

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

$year = substr("181?make=2008",-4)