2012-04-03 156 views
2

這裏我有一個法語和相等的英文字符。如何在java腳本中將法語charcaters轉換爲英文charcaters

法語:'E中的I A I A I A I C產地證電子產地證電子產地證電子○○êÙËÚI U I UôÝo一個U Aÿç

英語:」 EAIAIAIAICOEOEOEOOé üü你ü我ü呦呦auayc

我做了下面的函數在我的javascript.quiz_text是一個textarea。

此功能只取代法語元音字符。而且一些法語元音字符(Ã)沒有被替換爲英文字符。我必須將這些法語字符轉換。

任何人都可以幫我在JavaScript上將這些法語字符轉換成英文嗎?

function checkgsm(){ 

    var quiz_text =document.getElementById('quiz_text'); 

    var s= quiz_text.value; 


    var rExps=[ /[\xC0-\xC2]/g, /[\xE0-\xE2]/g, 
    /[\xC8-\xCA]/g, /[\xE8-\xEB]/g, 
    /[\xCC-\xCE]/g, /[\xEC-\xEE]/g, 
    /[\xD2-\xD4]/g, /[\xF2-\xF4]/g, 
    /[\xD9-\xDB]/g, /[\xF9-\xFB]/g ]; 

    var repChar=['A','a','E','e','I','i','O','o','U','u']; 

    for(var i=0; i<rExps.length; i++) 
    s=s.replace(rExps[i],repChar[i]); 

    return s; 
} 
+0

你只是不包含您的正則表達式中的所有字符。仔細看字符圖。 – kirilloid 2012-04-03 08:18:54

+0

我知道只有我在rExps變量中提到的元音的格式。不知道其他字符的格式。你能發給我完整的格式嗎? – ram 2012-04-04 07:22:50

+0

'charmap'可在limux和窗戶上使用。如果您有Mac,請詢問他們的支持;-) – kirilloid 2012-04-04 07:27:54

回答

2

可以使用iconv功能:

$this->_data = iconv("utf-8","ascii//TRANSLIT", JRequest::get('post')); 
1

在大多數情況下,做說什麼antyrat,但如果你想要更多的控制,你可能需要使用的preg_replace:

$search = array('X1', 'X2', 'X3'); 
$replace = array('Y2', 'Y2', 'Y3'); 

$string = "X1X3X2"; 

echo str_replace($search, $replace, $string); 

將打印:

Y1Y3Y2 
+0

'preg_replace'會在你的例子中抱怨分隔符。或者你的意思是'strtr()'? – 2012-04-04 14:04:23

+0

對不起,我的意思是str_replace。我的錯,完全,謝謝你指出,我只是調整了它。 – 2012-04-04 14:15:26