使用数组将字符串转换为另一个语言


Translating string to another lang using array

我想翻译数组中出现在以下字符串中的所有键:

$bar = "It gonna be tornado tomorrow and snow today.";

并将其替换为使用此数组的值:

 $arr = array(
   "tornado" => "kasırga",
   "snow" => "kar"
);

因此输出将是:

$bar = "It gonna be kasırga tomorrow and kar today.";

您要查找的函数称为字符串翻译,缩写为strtrDocs:

$bar = strtr($bar, $arr);

与其他答案中的流行观点相反,str_replace使用起来不安全,因为它重新替换了不是您想要的字符串。

您可以使用str_replace函数:

$tmp = str_replace(array_keys($arr), array_values($arr), $bar);
foreach($arr as $key=>$value) {
    $bar = str_ireplace($key, $value, $bar);
}