【问题标题】:PHP parse ini file that includes variablesPHP解析包含变量的ini文件
【发布时间】:2014-06-17 14:34:33
【问题描述】:

我尝试在 .ini 文件中存储不同的语言。

language_en.ini:

HELLO_MSG = "Hello $user ! How are you ?"

php 文件

$user = "Mike";
$ini_array = parse_ini_file("language_en.ini");
echo $ini_array['HELLO_MSG'];

输出

Hello Mike ! How are you ?

是否可以使用我在 ini 文件中设置的 $user 变量,或者如果我使用“parse_ini_file”方法在 .ini 文件中读取,是否可以只获取一个带有字符串的数组。

【问题讨论】:

    标签: php ini


    【解决方案1】:

    无论如何,您不应该依赖变量插值。你没有在这个文件中定义变量$user,你怎么能指望它在任何时候被插值呢?你会在解析ini文件之前定义所有可能的变量吗?真是一团糟!

    对此的标准解决方案是sprintf

    $hello = "Hello %s! How are you?";
    $message = sprintf($hello, $user);
    echo $message;
    

    此外,您在这里尝试重塑的是gettext 以进行本地化。阅读this,了解为什么您需要像 gettext 这样的现有系统,而不是 ini 文件。

    【讨论】:

    • 哦,太好了,“sprintf”是我正在寻找的解决方案!
    猜你喜欢
    • 2015-07-26
    • 2012-10-15
    • 2017-06-01
    • 1970-01-01
    • 2014-02-15
    • 2011-02-11
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    相关资源
    最近更新 更多