質問

私は、必要なことを達成するためのより良い方法が何百万もあるプロジェクトの 1 つに取り組んでいますが、他に選択肢がなく、この方法で行うしかありません。ここにあります:

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するができるように設計されたものです。あなたは自分のサイト上またはウィキペディアの上でそれについての詳細を読むことができます。

ウィキペディアを引用します:

  

YAML構文が簡単にできるように設計されました   ほとんどに共通のデータ型にマッピングされました   ハイレベル言語:リスト、ハッシュ、および   スカラー。そのおなじみのインデント   アウトラインとリーン外観は、それを作ります   特に作業場所に適し   人間は、ビューまたは編集データへの可能性があります   このような構成などの構造、   デバッグ中にダンプファイル、および   文書のヘッダー

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.

他のヒント

どちらかを使用すると思います

またはほぼ何でも 軽量マークアップ言語 あなたが適切だと判断します。

あなたはYAMLに見たいと思うかもしれません。

http://www.yaml.org/する

私はパブロ・フェルナンデスの応答に同意します。私は、JSONは同様に良い選択かもしれないと思う。

XML のオプションです。

IてるだけINI文字列はかなり読み取り可能であることを言うつもります:

Pet_Name = "Fred"

しかし、あなたは常にあなた自身のフォーマットをロールバックできます。ような何かます:

Key: ValueValueValueValueValueValue
Key: ValueValue
基本的に、あなたは改行で文字列を爆発するだろう、テキスト文字列の外観は、そのキーとしてコロンと使用のインフロント、およびコロンの後と改行前のデータの値です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top