寻找避免eval()的解决方案

时间:2012-04-11 17:10:14

标签: php mysql

我需要为更新创建某种知识数据库(使用PHP和MySQL)。 我使用数据库来存储HTML格式的每个更新。 使用该系统的人使用不同的语言(有关用户的信息存储在数据库中)。 有时,更新包含应翻译和显示的文本,并考虑用户正在使用的语言。

您会建议采用什么方法,请记住我希望避免在数据库中存储PHP和HTML。

我正在考虑为每种语言创建一个col并在那里存储每次更新的翻译,但是更新包含2种不同的翻译会发生什么。

更新原型:

一些初始文字


翻译文本的某些部分


更多文字


第二次翻译


最终更新文本

2 个答案:

答案 0 :(得分:0)

我会创建一个用于语言的表和一个用于更新的表。然后创建一个将语言链接到更新的表。一列为id,一列为语言ID,一列为更新ID。然后,您将能够处理具有多个翻译的更新。

答案 1 :(得分:0)

另一个解决方案是使用某种cdata标签,或者你可以轻松解析的东西。但这将是一个非常“维基”的解决方案,所以有一些模式可以避免混合。

示例:

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