2012-10-14 124 views
0

我怎样才能从这个字符串中提取4?提取部分字符串?

$string = "Rank_1:1:4"; 

我试图从谷歌服务器获取的PageRank,以及最后的值(4)是实际的PageRank。

回答

6

尝试

$string = "Rank_1:1:4"; 
$data = explode(':',$string); 
echo end($data); 

编辑

按@MichaelHampton,如果他们以后添加更多的字段,然后如下

$string = "Rank_1:1:4"; 
$data = explode(':',$string); 
echo $data[2]; 
2

PHP已经可以使用这么多的字符串函数使用。 ...

变量

$find = ":"; 
$string = "Rank_1:1:4"; 

使用substr

echo substr($string, strrpos($string, $find) + 1); 

使用strrchr

echo ltrim(strrchr($string, $find),$find); 
+1

+1这实际上是答案OP的问题。 – budwiser

+2

当字段长度是两位数时(这可能是),这会中断。 –

+0

@迈克尔汉普顿的OP说兰德..排名是0 - 5星 – Baba

0
$pattern = '/:\d+$/'; 
preg_match($pattern, $string, $matches); 
$rank = substr($matches[0],1); 
+0

谁减去正确答案? –

+0

这太复杂了。它可能在今天工作,但它很难理解,而且如果有一个额外的领域它会打破。 –

+0

迈克尔我恭敬地不同意。他问最后的价值,这将始终提供这一点,并且对于任何知道正则表达式的人都很容易理解。 –