在字符串php中找到第二次出现的char

时间:2012-11-21 11:58:42

标签: php string

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

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

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

我正在使用此功能,但它总是返回第一个位置,

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

有什么想法吗?感谢

3 个答案:

答案 0 :(得分:18)

针对此特定情况的最简单解决方案是使用offset参数:

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

但您可能希望使用regular expressions

答案 1 :(得分:9)

试试这个

preg_match_all('/-/', $info,$matches, PREG_OFFSET_CAPTURE);  
echo $matches[0][1][1];

答案 2 :(得分:0)

您必须使用偏移参数

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

它会完美运作。