Я не думаю, что это можно сделать с помощью strrpos, потому что начало позиции не
работать так, как вы ожидаете.
Существует не совсем очевидный способ, но эта функция должна это делать. (Не очень проверено, но я думаю, что это работает).
/** Return the position of the second last needle in haystack or false if nothing is found. I really hate functions with return types that depend on their input, but this function is made to look like the similary php functions (strpos, strrpos and so on) */
// Needle must be a char. If you want it to be a string instead, just substr
// length of needle instead of 1 in this example.
function findSecondLastChar($needle,$haystack) {
$found=0;
for($pos=strlen($haystack)-1;$pos>=0;$pos--) {
if(substr($haystack,$pos,1)==$needle) {
if($found++ == 1)
return $pos;
}
}
// If we reach this, nothing were found
return false;
}