我想将数组转换为字符串,而不是想用str_replace更改一些字符。一切正常,除了转换。我的代码中的问题是什么?
function tr_cevir($text = "") {
//converts turkish charters in to english chracters
$TR = array('ç', 'Ç', 'ı', 'İ', 'ş', 'Ş', 'ğ', 'Ğ', 'ö', 'Ö', 'ü', 'Ü', 'I');
$EN = array('c', 'c', 'i', 'i', 's', 's', 'g', 'g', 'o', 'o', 'u', 'u', 'i');
$text = str_replace($TR, $EN, $text);
$text = str_replace(" ", "", $text);
return $text;
}
$my_array = array(çali, Şeli, Ğahmet);
$string = implode(", ", $my_array);
$string_converted = tr_cevir($string);
echo $string_converted; //output returns null
我如何得到如下输出:
卡利,SELI,gahmet
答案 0 :(得分:1)
尝试用以下代码替换整个代码:
$my_array = array('çali', 'Şeli', 'Ğahmet');
$string = implode(", ", $my_array);
$string_converted = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $string);
echo $string_converted;
答案 1 :(得分:1)
$my_array = array('çali', 'Şeli', 'Ğahmet');
它应该有用。
答案 2 :(得分:0)
$my_array = array(çali, Şeli, Ğahmet);
你忘了字符串周围的'或'。
答案 3 :(得分:0)
您只需要引用您的数组内容:
$my_array = array('çali', 'Seli', 'Gahmet');
答案 4 :(得分:0)
你可能正在寻找这个:
$converted = iconv('UTF-8', 'US-ASCII//TRANSLIT', $text);
它会将任何非ascii字符音译为ascii'最接近的等价物'
有关iconv()
答案 5 :(得分:0)
首先,引用数组中的值:
$my_array = array("çali", "Şeli", "Ğahmet");
答案 6 :(得分:0)
您不需要添加自己的翻译代码,已经有相同的库。请检查 http://php.net/manual/en/function.iconv.php