0

我正在尝试过滤掉所有非拉丁字符,例如γειά σου使用 javascript / regex,同时允许特殊字符,例如!@#$%^&*().
但是如果 JS 是不可能的,那么 phppreg_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");给了我乱码,在此处输入图像描述
也许我能以某种方式检测到?

问:最好的方法是什么?

4

1 回答 1

1

当我测试它时,这似乎有效,但您需要仔细检查:

$output = preg_replace('/[^(\x20-\x7F)]*/','', $output);
于 2012-12-27T00:52:58.877 回答