我尝试使用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获取此字符串时,此代码对它没有影响。 我该如何解决?任何形式的帮助将不胜感激。
答案 0 :(得分:2)
我得到的答案是该代码段没有任何问题。但它没有改变任何东西的原因是我的数据库的字符集是 ISO 8859-9 。将此charset映射到 UTF-8 将解决此问题。
答案 1 :(得分:1)
此处无需使用数组。
此外,您在$pattern
内添加了一组额外的引号,导致匹配失败。
您的模式需要分隔符/
。
$mystr= 'çanakkale';
$pattern = '/ç/';
$replace = 'c';
$mystr = preg_replace($pattern, $replace, $mystr);
echo $mystr;
答案 2 :(得分:0)
您需要使用u
修饰符:
$mystr = preg_replace('/ç/u', 'c', $mystr);