:マークダウンしていないテキスト?だから私は、ユーザーからのテキスト入力をフォーマットするために値下げを使用してい
http://michelf.com/projects/php-markdown/
しかし、私は、この破壊的にやっているので、テキストは、データベースの更新前に、HTMLに変わります。それを画面に表示する際にマークダウンに戻すことはできますか?理由は、私は、ユーザーがそのテキストを編集することができますし、元の形式でそれを必要とすることです...
:マークダウンしていないテキスト?だから私は、ユーザーからのテキスト入力をフォーマットするために値下げを使用してい
http://michelf.com/projects/php-markdown/
しかし、私は、この破壊的にやっているので、テキストは、データベースの更新前に、HTMLに変わります。それを画面に表示する際にマークダウンに戻すことはできますか?理由は、私は、ユーザーがそのテキストを編集することができますし、元の形式でそれを必要とすることです...
http://milianw.de/projects/markdownify/を試しましたか?
ただし、一般にデータベースに表示形式を保存しないでください。マークダウンをDBに保存し、必要に応じてHTMLに変換することを検討する価値があります。
これは悪いアドバイスです。両方の***をデータベースに保存する必要があります。そうすれば、エディタで読み込むためにオリジナルを保存し、すべてのページロードでオリジナルを変換する処理時間を無駄にすることはありません。 – Drew
@AndrewHeath私は同意しない。変換されたフォームを**キャッシュ**したいかもしれませんが、それはmemcacheのようなもので、永続的に永続化されたデータベースよりも優れています。 「ストレージは時間よりも安い」という議論をすることができますが、データベースを拡大すると実際に両方のコストがかかります.DBが大きいほど平均アクセス待ち時間が長くなることを意味します。 DRY違反です。データベースが同じ情報の2つのコピーを格納する場合、その2つのコピーは同期していなければなりません。さらに、クリーンなデザインを犠牲にしてパフォーマンスを最適化するには、スピードが必要であることがわかった後でなければなりません。 – Borealid
@AndrewHeath実際には、変換されたフォームをデータベースに格納することは、オンデマンドで変換を行うよりも遅くなる可能性があります。これは問題のサイトが高速プロセッサを搭載しているが、ハードドライブが遅い場合です - マークダウンはそれが表すHTMLよりも簡潔で、データベースのサイズが2倍を超えるとRAMに収まらないことを意味します。ベンチマークを実行する前に、このような決定を下すことは非常に賢明ではありません。早すぎる最適化は悪魔です。 – Borealid
データベースには、元の入力(マークダウン構文)とマークダウン後のHTMLの2つの列が必要です。
ページが読み込まれると、HTMLが読み込まれます。
編集したい場合は、元のマークダウン構文をプルし、編集完了時にデータベースに保存されているHTMLを上書きします。
簡単にはできませんが、誤差があります。私の質問は、なぜあなたがより多くのスペースを占めるときにデータベースにHTMLを格納しているということですか? – FakeRainBrigand
私は実際にはこれを2度保管しています。編集のためのマークダウンと容易に変換されたhtmlを表示しておきます。 (もちろん、別のキャッシュも同様に動作します) – mario