buscar y reemplazar valores en un archivo plano usando PHP

Creo que ya había una pregunta sobre esto, pero no puedo encontrar una. Quizás la solución es demasiado fácil ... De todos modos, tengo un archivo plano y quiero permitir que el usuario cambie los valores en función de un nombre. Ya he resuelto la creación de nuevos pares de nombre + valor utilizando elfopen('a') modo, usando jQuery para enviar la llamada AJAX connewValue ynewName. Pero digamos que el contenido se ve así:

host|http:www.stackoverflow.com
folder|/questions/
folder2|/users/

Y ahora quiero cambiar elfolder valor. Entonces enviaréfolder comooldName y/tags/ comonewValue. ¿Cuál es la mejor manera de sobrescribir el valor? El orden en la lista no importa, y el nombre siempre estará a la izquierda, seguido de un|(tubería), el valor y luego unnew-line.

Mi primer pensamiento fue leer la lista, almacenarla en una matriz, buscar en todos los[0]es paraoldName, luego cambie el[1] que le pertenece y luego volver a escribirlo en un archivo. ¿Pero siento que hay una mejor manera de evitar esto? ¿Algunas ideas? Tal vezregex?

Respuestas a la pregunta(2)

Su respuesta a la pregunta