當我使用下面的腳本,我得到雙重字符。爲什麼?當使用preg_replace時,我得到雙重字符...?
$clean_lastname = "Dür";
$clean_lastname = preg_replace("/[ùúûü]/", "u", $clean_lastname);
echo $clean_lastname;
輸出:Duur
我希望它是Dur
。
我仍然在做一些錯誤的事情...'在preg函數中放置一個數組的值是什麼?
$clean_lastname = "Boerée";
$l = 0;
$pattern = array('[ÀÁÂÃÄÅ]','[Ç]','[ÈÉÊË]','[ÌÍÎÏ]','[Ñ]','[ÒÓÔÕÖØ]','[Ý]','[ß]','[àáâãäå]','[ç]','[èéêë]','[ìíîï]','[ñ]','[òóôõöø]','[ùúûü]','[ýÿ]');
$replace = array(A,C,E,I,N,O,Y,S,a,c,e,i,n,o,u,y);
foreach ($pattern as $wierdchar)
{
$clean_lastname = preg_replace('/$wierdchar/u', '$replace[$l]', $clean_lastname);
$l++;
}
//$clean_lastname = preg_replace('/[èéêë]/u', 'e', $clean_lastname);
//$clean_lastname = strtr($clean_lastname, "ùúûü","uuuu");
echo $clean_lastname;
你應該閱讀從這個以前的問題OP ... – ajreal 2010-12-16 16:49:52
它適用於這個特定的字符串,但有更多的,我也有一個ù,ú,û,ü等... – Thijs 2010-12-16 16:55:06
我已編輯答案請檢查 – 2010-12-16 17:03:47