PHP替换字符串中的字符

时间:2014-07-11 06:49:36

标签: php string preg-replace

我尝试使用preg_replace()函数在字符串中使用'c'更改字符'ç'。这段我的代码,我试图这样做。

                 echo $mystr;  // The output of it is : çanakkale
                 $pattern = array("'ç'");
                 $replace = array('c'); 
                 $mystr = preg_replace($pattern, $replace, $mystr);
                 echo $mystr;  

当我在第一行之前的这一行之前添加时,此代码有效:

                 $mystr = "çanakkale";

然而,当我从Database获取此字符串时,此代码对它没有影响。 我该如何解决?任何形式的帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

我得到的答案是该代码段没有任何问题。但它没有改变任何东西的原因是我的数据库的字符集是 ISO 8859-9 。将此charset映射到 UTF-8 将解决此问题。

答案 1 :(得分:1)

  1. 此处无需使用数组。

  2. 此外,您在$pattern内添加了一组额外的引号,导致匹配失败。

  3. 您的模式需要分隔符/

       $mystr=  'çanakkale';
       $pattern = '/ç/';
       $replace = 'c'; 
       $mystr = preg_replace($pattern, $replace, $mystr);
       echo $mystr; 
    

答案 2 :(得分:0)

您需要使用u修饰符:

$mystr = preg_replace('/ç/u', 'c', $mystr);