我正在尝试为我的项目添加翻译单词。但是str_replace不起作用。
我有一个语言数据库表。
如果用户选择英语,那么例如用户会看到这个词:
英语: Mustafa 今天和他的朋友 ahmet 一起去了电影院。
如果用户选择土耳其语,那么例如用户会看到这个词:
土耳其语: Mustafa 错误arkadaşı ahmet ile birlikte sinemaya gitti。
我使用过这样的str_replace:
$splaceHolder = array( "{{username}}",
"{{otherusername}}" );
$sname = array( "<a href='".$base_url.$username."'>".$username."</a>",
"<a href='".$base_url.$otherusername."'>".$otherusername."</a>" );
和str_replace
在这里:
$note = str_replace($splaceHolder, $sname, $lang['text'][$lang]);
$lang['text'][$lang]
来自语言表,文字是英语:
{{username}} went to the cinema with his friend {{otherusername}} today.
土耳其语:
{{username}} bugün arkadaşı {{otherusername}} ile birlikte sinemaya gitti.
str_replace在这里不起作用。
英语版本{{username}} went to the cinema with his friend {{otherusername}} today.
显示此 Mustafa 今天和他的朋友 ahmet 一起去了电影院。
显示土耳其语{{username}} bugün arkadaşı {{otherusername}} ile birlikte sinemaya gitti.
此 Mustafa 错误arkadaşı ahmet ile birlikte sinemaya gitti。
但我只是按照以下方式进行。
{{username}}和他的朋友{{otherusername}}一起去了电影院 今天。
答案 0 :(得分:1)
str_replace适用于您的示例。
试试这个:
<?php
$string = "{{username}} went to the cinema with his friend {{otherusername}} today.";
$res = str_replace("{{username}}", "firstuser", $string);
$res = str_replace("{{otherusername}}", "seconduser", $res);
echo "result: ".$res."<br />";
?>
即使你可以用一行代替两种方式:
$res = str_replace(["{{username}}", "{{otherusername}}"], ["firstuser", "seconduser"], $string);
适合我。