Me llama la atención el hecho de que uses strrpos() en vez de strpos(). SI miramos el manual:
Cita:
Iniciado por php.net/strrpos Devuele la posición numérica de la última aparición de caracter en la cadena . Nótese que en PHP 4 el caracter sólo puede ser un caracter único. Si se pasa una cadena como caracter , sólo se utilizará el primer caracter de la misma.
Cita:
Iniciado por php.net/strpos Devuelve la posición numérica de la primera aparición de la
caracter en la cadena
cadena .
A diferencia de strrpos(), esta función puede tomar una cadena completa como
caracter y se utilizará en su totalidad.
Bingo!. Aunque depende de la versión de PHP que tengas.