Я думал, что уже был вопрос по этому поводу, но я не могу его найти. Возможно, решение слишком простое... Во всяком случае, у меня есть плоский файл, и я хочу, чтобы пользователь мог изменять значения на основе имени. Я уже разобрался с созданием новых пар имя+значение, используя режим fopen('a')
, используя jQuery для отправки вызова AJAX с newValue
и newName
. Но скажем, содержимое выглядит так:
host|http:www.stackoverflow.com
folder|/questions/
folder2|/users/
И теперь я хочу изменить значение folder
. Итак, я отправлю folder
как oldName
, а /tags/
как newValue
. Каков наилучший способ перезаписать значение? Порядок в списке не имеет значения, имя всегда будет слева, за ним следует |
(вертикальная черта), значение и затем new-line
.
Моей первой мыслью было прочитать список, сохранить его в массиве, найти во всех [0]
oldName
, затем изменить принадлежащий ему [1]
, а затем записать его обратно в файл. Но я чувствую, что есть лучший способ обойти это? Есть идеи? Может быть, regex?