Pero .. "que trozo" de ese "txt" o bajo que condiciones mejor dicho ha de mostrar información .. o hasta donde ha de mostar información de ese "txt"?
 
Por el código que usas .. suponemos que la estructura de tus datos es algo así: 
campo0|campo1|campo3|campo3 <-- registro 1
campo0|campo1|campo3|campo3 <-- registro 2
campo0|campo1|campo3|campo3 <-- registro N  
(esto es lo que deberías haber dicho: tengo tal estructura de datos y quiero acceder a Tal dato bajo tal condición ..) 
Ahora .. supongo que quieres accede a X registro .. ¿no?, pero eso será bajo alguna condición: no sé .. tal vez que "campo1 == $nose" .. ?¿ es eso? 
En tal caso .. la función fgets() o fgetcsvs() te podrán servir ..  
Visita la documentación oficial de esas funciones .. 
http://www.php.net/manual/en/function.fgetcsv.php 
Ejemplos tienes ahí ... 
Y sobre todo piensa .. que tu "txt" una vez leido por PHP te queda en un array .. así que como tal array que es (tu $mensaje) puedes trabajarlo como quieras conlas funciones de Arrays de PHP o bien recorriendolo entero (con un bucle como de hecho ya lo estás haciendo) y usando tus "condicionales" (IF ... else ...) para presentar el dato que cumpla tu condición ... 
Un saludo,