数组到字符串转换和str_replace用法

时间:2012-05-21 11:54:32

标签: php arrays str-replace implode

我想将数组转换为字符串,而不是想用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

7 个答案:

答案 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;

iconv()

答案 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