Подтвердить что ты не робот

Мне нужен удобный для чтения, но формат документа, пригодный для анализа

Я работаю над одним из тех проектов, где есть миллион лучших способов достижения того, что мне нужно, но у меня нет выбора, и я должен сделать это таким образом. Вот он:

Существует веб-форма, когда пользователь заполняет ее и нажимает на отправку. Пользовательский текстовый файл, созданный человеком, создается с использованием данных формы. Это выглядит так:

field_1: value for field one

field_2: value for field two
more data for field two (field two has a newline in it!)

field3: some more data

Моя проблема заключается в следующем: Мне нужно проанализировать этот текстовый файл обратно в веб-форму, чтобы пользователь мог его редактировать.

Как я мог бы сделать это с полным трудом? База данных не является вариантом, я должен использовать эти текстовые файлы.

Мои вопросы:

  • Есть ли надежный способ сделать это, используя формат в приведенном выше примере?
  • Какой человеческий читаемый формат будет работать лучше (другими словами, я могу изменить формат)
  • Чтение человеком означает, что не программист мог его прочитать и знать, что есть.

В этом проекте используется PHP.

UPDATE

Под понятным человеком я имею в виду, что любой может читать текст и не быть перегруженным им, включая вашу бабушку.

4b9b3361

Ответ 1

Мне нужен человек, читаемый, тем не менее Формат документа, пригодный для анализа

Это то, что было YAML. Вы можете узнать больше об этом на своем сайте или на Wikipedia.

Процитировать Wikipedia:

Синтаксис YAML был разработан как легко сопоставлены с типами данных, общими для большинства языки высокого уровня: список, хеш и скаляр. Его знакомый с отступом контур и худощавый внешний вид особенно подходит для задач, люди могут просматривать или редактировать данные структуры, такие как конфигурация файлы, сброс во время отладки и заголовки документов

Преимущество над XML заключается в том, что он не использует теги, которые могут запутать пользователей. И я думаю, что он чище, чем INI (о котором также упоминалось), потому что он просто использует двоеточия вместо равных знаков, точек с запятой и кавычек.

Образец YAML выглядит так:

invoice: 34843
date   : 2001-01-23
bill-to: &id001
    given  : Chris
    family : Dumars
    address:
        lines: |
            458 Walkman Dr.
            Suite #292
        city    : Royal Oak
        state   : MI
        postal  : 48046
ship-to: *id001
product:
    - sku         : BL394D
      quantity    : 4
      description : Basketball
      price       : 450.00
    - sku         : BL4438H
      quantity    : 1
      description : Super Hoop
      price       : 2392.00
tax  : 251.42
total: 4443.52
comments: >
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @ 338-4338.

Ответ 3

Возможно, вы захотите изучить YAML

http://www.yaml.org/

Я согласен с ответом Пабло Фернандеса. Я думаю, что JSON может быть хорошим выбором.

Ответ 4

XML является опцией.

Ответ 5

Я просто скажу, что строка INI довольно читаема:

Pet_Name = "Fred"

Но вы всегда можете перевернуть свой собственный формат. Что-то вроде:

Key: ValueValueValueValueValueValue
Key: ValueValue

В принципе, вы бы взорвали строку с помощью строк новой строки, найдите текстовые строки infront из двоеточий и используйте это как ключ, а данные после двоеточия и перед новой строкой - это значение.