0
我試圖篩選出所有非拉丁字符,如γειά σου
使用JavaScript /正則表達式,同時允許特殊字符,如[email protected]#$%^&*()
。
但是,如果JS是不可能的,那麼用preg_replace
也許PHP的。
我用盡JS str = str.replace(/[^a-z0-9\-.,:;]/i, "");
但沒有做任何事情。
用PHP $str = preg_replace('[^a-zA-Z0-9\xC0-\xFF]', '', $str);
,但得到了同樣的結果。
檢測和剔除任何外國文字,同時保持特殊字符
然而,這echo htmlentities($str, ENT_QUOTES, "ISO-8859-1");
給了我亂碼,
也許我能以某種方式檢測?
問:什麼是做到這一點的最好方法是什麼?
你的JS正則表達式有一個無效的分隔符混搭,你的PHP變種都沒有。爲什麼你在'UTF-8'文本上應用ISO-8859-1字符集呢? – mario
@mario我看到使用PHP,暗示和試了一下後,但顯然這wasnt正確的做法 –
JavaScript不支持Unicode。 – gdoron