9

私がこの文字列を持っていると想像してください:

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

2番目の文字「-」の位置を知りたいので、結果1-0ではなく結果2-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 に答える