使用数组将字符串翻译为另一种语言

3

我希望将数组中出现在这个字符串中的所有键进行翻译:

$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.";
3个回答

1
你要找的函数叫做字符串翻译,它的简写形式是strtrDocs
$bar = strtr($bar, $arr);

与其他答案中流传的观点相反,str_replace 并不安全,因为它会重复替换字符串,这不是您想要的。


非常感谢您的出色解释。现在我对此有了更深刻的理解 :) 同时也感谢其他人。 - user1012032

0
foreach($arr as $key=>$value) {
    $bar = str_ireplace($key, $value, $bar);
}

0
你可以使用str_replace函数来实现这个功能。
$tmp = str_replace(array_keys($arr), array_values($arr), $bar);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接