9

想象一下我有这个字符串:

$info="portugal,alemanha,belgica,porto 1-0 alemanha, belgica 2-0";

我想知道第二个字符“-”的位置,所以我想要结果 2-0 而不是结果 1-0。

我正在使用这个函数,但它总是返回第一个位置,

$pos = strpos($info, '-');

任何的想法?谢谢

4

3 回答 3

25

对于这种特定情况,最简单的解决方案是使用offset参数:

$pos = strpos($info, '-', strpos($info, '-') + 1);

不过,您可能想研究使用正则表达式

于 2012-11-21T12:00:04.510 回答
8

试试这个

preg_match_all('/-/', $info,$matches, PREG_OFFSET_CAPTURE);  
echo $matches[0][1][1];
于 2012-11-21T13:13:09.193 回答
0

您必须使用偏移参数

$pos = strpos($info, '-', [offset]); 

它将完美地工作。

于 2012-11-21T12:12:08.810 回答