私はこの操作を実行しています。
$title = "Group CIO, Member of the Executive Committee";
$pos = strripos($title,"cio");
として値を取得しているので、$pos
値を8
取得する代わりに。理由は何でしょうか?$pos
6
*pos*
私が知っているすべての関数は、一致が始まるインデックスを返します。一致がどこで終了するかを知りたい場合は、文字列の長さを加算して1を減算するだけです。
$pos = strripos($title, "cio") + strlen("cio") - 1;
位置が6なので...
0123456
Group CIO, Member...
干し草の山の文字列で最後に出現した針の数値位置を見つけます。
最後の出現は、位置6で始まる文の2番目のウッドです。
なぜポジション8を期待したのですか?
なぜあなたは8を期待していますか?
実演させてください:
000000000011111111112
012345678901234567890
Group CIO, Member of ...
^
マニュアルから:
干し草の山の文字列の先頭を基準にして針が存在する位置を返します(オフセットとは関係ありません)。また、文字列の位置は1ではなく0から始まることに注意してください。
strripos
針の最後の出現の最初の文字を見つけます。針の長さを手動で追加する必要があります
$pos = strripos($title,"cio")+strlen("cio")-1;