【发布时间】:2013-11-04 03:19:03
【问题描述】:
我想用英文字母替换句子中的每个土耳其字母,我尝试以下功能:
$title_result = "Türkiye'nin en iyi oranlari ile Lider Bahis Sitesi";
$turkish = array("ı", "ğ", "ü", "ş", "ö", "ç");//turkish letters
$english = array("i", "g", "u", "s", "o", "c");//english cooridinators letters
$final_title = str_replace($turkish, $english, $title_result);//replace php function
print_r($turkish);//when printing this i got: Array ( [0] => ı [1] => ğ [2] => ü [3] => ş [4] => ö [5] => ç )
return $final_title;
我认为土耳其字符的问题,但我不知道如何使 php 正确读取此字符以正确替换。我需要你的建议吗??
【问题讨论】:
-
您的代码在我的机器上运行良好。也许您的配置有问题 - 检查 mbstring:php.net/manual/en/book.mbstring.php
-
最终的标题没有显示或打印,因为 str_replace 不起作用所以它没有价值
-
请查看 mbstring 的 php 信息(Linux 终端中的
php -i | grep mbstring)。它应该被启用,因为我猜土耳其字符可以存储在两个字节而不是一个字节中 -
为什么要这样替换?如果您认为不能使用土耳其语字母,那您可能错了。如果它们真的无法使用,通常最好避免丢失太多信息并替换例如“ş”由“sh”而不是“s”。
-
在phpfiddle 上运行良好