Frage

Ich arbeite an einem dieser Projekte, bei denen es eine Million bessere Wege zu erreichen, was ich brauche, aber ich habe keine andere Wahl, und ich habe es auf diese Weise zu tun. Hier ist sie:

Es gibt ein Web-Formular, wenn der Benutzer es füllt und trifft ein eine vom Menschen lesbare Textdatei einreichen wird, um die Formulardaten erstellt wird. Es sieht wie folgt aus:

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

Mein Problem ist folgendes:. Ich brauche diese Textdatei wieder in das Web-Formular zu analysieren, so dass der Benutzer sie bearbeiten können

Wie könnte ich in einem narrensicheren Weg, dies zu erreichen? Eine Datenbank ist keine Option, ich habe diese Textdateien verwenden.

Meine Fragen:

  • Gibt es eine harmlose Weise über diese mit dem Format in dem Beispiel zu tun?
  • Was für Menschen lesbares Format besser funktionieren würde (in anderen Worten kann ich das Format ändern)
  • Menschenlesbare Mittel, dass ein nicht-Programmierer es lesen konnte und wissen, was ist, was.

Dieses Projekt verwendet PHP.

UPDATE

Mit dem für Menschen lesbares meine ich, dass jemand den Text lesen konnte und nicht von ihr überwältigt werden, einschließlich Ihrer Großmutter.

War es hilfreich?

Lösung

  

Ich brauche ein menschenlesbares Format, doch   Parse-able Document Format

Dies ist, was YAML entworfen zu sein. Sie können weitere Informationen auf ihrer Website oder auf Wikipedia .

Wikipedia zitieren:

  

wurde YAML Syntax entwickelt, um einfach zu sein,   Datentypen in den meisten kartiert   Hochsprachen: Liste, Hash, und   Skalar. Seine vertraut gegliederten   umreißen und schlankes Aussehen macht es   besonders für Aufgaben geeignet, bei denen   Menschen sind wahrscheinlich ansehen oder bearbeiten Daten   Strukturen, wie beispielsweise Konfigurations   Dateien, Dumping während des Debuggens und   Dokument-Header

Der Vorteil gegenüber XML ist, dass es keine Tags nicht verwendet werden, die Benutzer verwirren könnten. Und ich denke, es ist sauberer als INI (die auch erwähnt wurde), weil es einfach verwendet Doppelpunkte statt Gleichheitszeichen, Semikolons und Zitate.

Beispiel YAML sieht aus wie:

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.

Andere Tipps

Ich würde sagen, entweder Verwendung

oder einfach über jede leichte Auszeichnungssprache für angemessen halten.

Sie können in YAML aussehen wollen

http://www.yaml.org/

Ich bin mit Pablo Fernandez Antwort. Ich denke, JSON könnte eine gute Wahl als gut.

XML ist eine Option.

Ich werde nur sagen, dass ein INI-String ziemlich lesbar ist:

Pet_Name = "Fred"

Aber, können Sie immer Ihr eigenes Format rollen. So etwas wie:

Key: ValueValueValueValueValueValue
Key: ValueValue

Im Grunde würden Sie die Zeichenfolge von Zeilenumbrüchen, sucht Textstrings explodieren infront Doppelpunkte und verwenden, die als Schlüssel und die Daten nach dem Doppelpunkt und vor dem Newline ist der Wert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top