语言PHP数组 - 传递给Javascript的优雅方式
Language PHP array - elegant way to pass to Javascript
我有一个包含字符串的数据库以及该字符串所属的语言。字符串有一个唯一的名称,我用它来标识它,然后是每种语言的翻译。
使用 PHP,我从数据库中获取此信息并将其存储在关联数组中,如下所示:
$languages['strings']['lang']['unique_string_name'] = $translation;
现在,由于我也希望翻译我的Javascript代码,我需要将其传递给。我尝试过用 JSON 来做,但有些$translation有引号和双引号,逃脱并使其正确是地狱 - 因为转义只是转义整个 JSON 字符串,而不仅仅是翻译。
所以,我所做的是循环整个数组并再次在 Javascript 关联数组中回显$translation,但这次使用添加斜杠 - 只有翻译。
但是,如果我查看源代码,我会看到 600 行 Javascripts 条目,每个翻译一个(当然,这没有什么奇怪的,只是简单的丑陋(。
我想知道是否有一种更干净的方法可以将这个转换数组传递给我的 Javascript 代码,而不必循环 PHP 数组并将其回显到 JS 变量。
感谢您的时间和答案!
你真正需要的是:
<script type="text/javascript">
var languages = <?php echo json_encode($languages); ?>;
</script>
你最终会在 JS 中获得 PHP 数组的精确副本,所以
echo $languages['strings']['lang']['unique_string_name']; // PHP
alert(languages.strings.lang.unique_string_name); // JS
两者都会提出相同的翻译。
相关文章:
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使用javascript存储变量的最安全方式
- Javascript以不同的方式声明数字
- 用DRY方式Javascript/JQuery动态替换HTML
- 什么's是在javascript中迭代项的最佳方式
- 以jquery方式继承Javascript
- 以同步方式获取Javascript Promise的值
- Rails将JavaScript对象存储到Model的有效方式
- javascript中的快捷方式融合优化
- JavaScript Array unshift() 以一种不可变的方式
- 以不同的方式调用javascript函数
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- Jquery/javascript方式发送50个表单,就像发送1个表单一样
- 更改属性 Javascript 方式的值
- 如何以 ajax 方式更改 dom 元素,但不使用 javascript 方式替换 dom 内容
- 如何组织Vue JS:非Javascript方式
- Bootstrap 3/showing modal dons'不要使用javascript方式
- java或javascript方式将图像文件转换为favicon.ico
- 原生javascript方式获取用户的IP地址
- 引导数据api方式vs javascript方式