No creo que haya una función específica para hacer esto, pero podrías jugar con las funciones de cadenas, principalmente substr
Ahora, para ese ejemplo específico se me ocurre usar explode 2 veces:
$partes = explode('<inicio>', $cadenaoriginal);
guardaría
$partes[0] = "Prueba de texto de inicio</fin> Aqui hay mas texto";
$partes[1] = "Vuelve a coger el texto</fin> Sigue mas texto";
luego podrías volver a usar explode, esta vez usando como separador '</fin>'.
O usar substr, con strpos como parámetro de largo
$cad = substr($partes[0], 0, strpos('</fin>', $partes[0]));
Quizás haya alguna forma mejor, pero ahora se me ocurrió ésta jeje.
www.php.net/strpos www.php.net/substr www.php.net/explode
Saludos.