2012-04-11 12 views
-1

更新のための知識データベース(PHPとMySQLを使用)を作成する必要があります。 Imデータベースを使用して、すべての更新をHTML形式で保存します。 システムを使用している人は、さまざまな言語で作業します(ユーザーに関する情報はDBに格納されます)。 更新プログラムには、ユーザーが使用している言語を考慮して翻訳して表示する必要のあるテキストが含まれていることがあります。eval()を避けるための解決策を探しています

私はDBにPHPとHTMLを保存しないようにしたいと考えています。

すべての言語のcolを作成し、そこにすべての更新の翻訳を格納することを考えていましたが、更新には2つの異なる翻訳が含まれています。アップデートの

プロトタイプ:

いくつかの初期テキストテキスト


いくつかのより多くのテキスト


第2の翻訳の一部の


翻訳


最終更新テキスト

+0

データベースからPHP + HTMLのevalを避ける以上のものを。それをしません。他のオプションが見つからない場合は、プロジェクトをスクラップします。 (その他のオプションがあります) – DampeS8N

+0

申し訳ありませんが、私は全く質問を理解していません。あなたはeval()を何のために使うつもりですか? – Daniel

+0

DB PHPコードを保存して、アップデート全体を表示し、ユーザーのログイン情報(言語)を使用して表示する必要がある翻訳を選択することを考えていました。例えばif($ _ SESSION ['language'] == 'FR')echo "Bla bla"; – Boris

答えて

0

私は更新のための言語のためのテーブルとテーブルを作成します。次に、言語を更新プログラムにリンクするテーブルを作成します。 idは1列、言語IDは1列、更新IDは1列です。その後、複数の翻訳を含む更新を処理することができます。

+0

いいですが、いつか更新の途中で翻訳を表示する必要があります。例えばUpdateText、翻訳、MoreUpdateText、Translation2 ... – Boris

0

もう1つの解決策は、何らかの種類のcdataタグを使用することです。これは、十分に簡単に解析できるものです。しかし、これは非常に "ウィキ"ベースのソリューションなので、混合を避けるためのパターンがあります。

例:

[English<-[This is the best update ever]->] 
[Swedish<-[Detta är den bästa uppdateringen någonsin]->] 
+0

はい、これは私が考えることができる唯一の解決策ですが、それはあまりにも不満ではありませんか? – Boris

+0

それはあなた次第です。あなたは裁判官になるので、イタリックで大胆なテキストには星印が使用されます。 – Daniel

関連する問題