Es necesario un humanamente legible, sin embargo Parse-poder Document Format
-
25-09-2019 - |
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.
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
- archivos INI o
- YAML o
- de rebajas o
- textiles
o casi cualquier lenguaje de marcado ligero que considere apropiado.
Es posible que desee ver en YAML
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.