Pregunta

Estoy trabajando en uno de los proyectos en los que hay un millón de mejores maneras de lograr lo que necesito, pero no tengo otra opción y tengo que hacerlo de esta manera. Aquí está:

Hay un formulario web, cuando el usuario rellene y lo realiza un presentar un archivo de texto legible por humanos se crea utilizando los datos del formulario. Se ve así:

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

Mi problema es el siguiente:. tengo que analizar esto de nuevo archivo de texto en el formulario web para que el usuario puede editar

¿Cómo podría, de manera infalible, lograr esto? Una base de datos no es una opción, tengo que usar estos archivos de texto.

Mis preguntas:

  • ¿Hay una manera infalible para hacer esto utilizando el formato en el ejemplo anterior?
  • ¿Qué formato legible por humanos funcionaría mejor (en otras palabras que puedo cambiar el formato)
  • medios legibles por humanos que un no programador podría leerlo y saber qué es lo que.

Este proyecto utiliza PHP.

Actualizar

Por legible quiero decir que cualquiera puede leer el texto y no ser abrumado por ella, incluyendo su abuela.

¿Fue útil?

Solución

  

I Need a humanamente legible, sin embargo   Parse-poder Formato de Documento

Esto es lo que YAML fue diseñado para ser. Puede leer más sobre esto en su sitio o en Wikipedia .

Para citar a Wikipedia:

  

Sintaxis de YAML fue diseñado para ser fácil   asignada a los tipos de datos común a la mayoría   lenguajes de alto nivel: la lista, hachís, y   escalar. Su sangría familiarizado   Esquema y apariencia delgada hace   especialmente adecuado para tareas en las   los seres humanos son propensos a ver o editar los datos   estructuras, tales como la configuración   archivos, el vertido durante la depuración, y   cabeceras del documento

La ventaja sobre XML es que no utiliza etiquetas que podría confundir a los usuarios. Y creo que es más limpio que el INI (que también fue mencionado), ya que simplemente utiliza dos puntos en lugar de signos de igualdad, punto y coma y citas.

Muestra miradas YAML como:

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.

Otros consejos

Yo diría que sea para uso

o casi cualquier lenguaje de marcado ligero que considere apropiado.

Es posible que desee ver en YAML

http://www.yaml.org/

Estoy de acuerdo con la respuesta de Pablo Fernández. Creo que JSON puede ser una buena opción también.

XML es una opción.

Sólo voy a decir que una cadena INI es bastante legible:

Pet_Name = "Fred"

Sin embargo, siempre se puede rodar su propio formato. Algo así como:

Key: ValueValueValueValueValueValue
Key: ValueValue

Básicamente, se explotaría la cadena por saltos de línea, busca cadenas de texto en frente de dos puntos y usar eso como la clave y los datos después de los dos puntos y antes de la nueva línea es el valor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top