我正在其中一个项目中,其中有百万种更好的方法来完成我需要的工作,但是我别无选择,我必须这样做。这里是:

有一个Web表单,当用户填写表单并点击提交时,会使用表单数据创建人类可读的文本文件。看起来像这样:

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

我的问题是:我需要将此文本文件解析回Web表单,以便用户可以对其进行编辑。

我如何以一种万无一失的方式完成此任务?数据库不是一种选择,我必须使用这些文本文件。

我的问题:
  • 是否有使用上述示例中的格式的简便方法?
  • 哪种人类可读格式会更好(换句话说,我可以更改格式)
  • 人类可读的意思是非程序员可以阅读它并知道什么是什么。

  • 该项目使用PHP。

    更新

    以人类可读的方式,我的意思是任何人都可以阅读文字,而不会被它所淹没,包括您的祖母。

    最佳答案



    这就是YAML的设计目标。您可以在他们的网站或Wikipedia上阅读有关它的更多信息。

    引用维基百科:



    与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.
    

    10-07 17:26