Question

Je travaille sur un de ces projets où il y a un million de meilleures façons d'accomplir ce que je dois mais je n'ai pas d'autre choix et je dois le faire de cette façon. Ici, il est:

Il y a un formulaire Web, lorsque l'utilisateur le remplit et frappe un soumettre un fichier texte lisible par l'homme est créé à l'aide des données de formulaire. Il ressemble à ceci:

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

Mon problème est le suivant:. Je dois analyser ce fichier texte nouveau dans le formulaire Web afin que l'utilisateur peut modifier

Comment pourrais-je, d'une manière à toute épreuve, y parvenir? Une base de données n'est pas une option, je dois utiliser ces fichiers texte.

Mes questions:

  • Yat-il un moyen infaillible pour faire en utilisant le format dans l'exemple ci-dessus?
  • Quel est le format lisible par l'homme fonctionnerait mieux (en d'autres termes, je peux changer le format)
  • Texte lisible signifie qu'un non programmeur pouvait le lire et savoir ce qui est quoi.

Ce projet utilise PHP.

UPDATE

Par je veux dire lisible par l'homme que l'on puisse lire le texte et ne pas être submergé par elle, y compris votre grand-mère.

Était-ce utile?

La solution

  

I Need a Human Readable, pourtant   Parse-able Format de document

est ce que YAML a été conçu pour être. Vous pouvez en lire davantage sur leur site ou sur Wikipedia .

Pour citer Wikipedia:

  

syntaxe YAML a été conçu pour être facilement   correspondant à des types de données communes à la plupart   langages de haut niveau: liste, hachage, et   scalaire. Son familier dentelée   contour et l'apparence maigre rend   Convient particulièrement pour les tâches où   les humains sont susceptibles d'afficher ou de modifier des données   structures, telles que la configuration   fichiers, dumping pendant le débogage, et   têtes de document

L'avantage sur XML est qu'il n'utilise pas les balises qui pourraient dérouter les utilisateurs. Et je pense qu'il est plus propre que INI (qui a également été mentionné) car il utilise simplement égaux au lieu de côlons signes, et des citations des points-virgules.

YAML Sample ressemble à:

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.

Autres conseils

Je dirais que ce soit avec

ou à peu près tout sembleront appropriées.

Vous pouvez regarder dans YAML

http://www.yaml.org/

Je suis d'accord avec la réponse Pablo Fernandez. Je pense que JSON pourrait être un bon choix aussi bien.

XML est une option.

Je vais juste dire qu'une chaîne INI est assez lisible:

Pet_Name = "Fred"

Mais, vous pouvez toujours rouler votre propre format. Quelque chose comme:

Key: ValueValueValueValueValueValue
Key: ValueValue

En fait, vous éclatez la chaîne par sauts de ligne, rechercher des chaînes de texte de Infront et l'utiliser côlons comme la clé, et les données après les deux points et avant le saut de ligne est la valeur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top