我正在尝试使用javascript / regex过滤掉所有非拉丁字符,例如γειά σου
,同时允许使用!@#$%^&*()
等特殊字符。
但是如果JS不可能那么php也许可以preg_replace
。
我试过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");
给了我乱码文字
也许我可以以某种方式检测到它?
答案 0 :(得分:1)
这在我测试时似乎有效,但你需要仔细检查:
$output = preg_replace('/[^(\x20-\x7F)]*/','', $output);