检测并删除任何外来文本,同时保留特殊字符

时间:2012-12-27 00:36:48

标签: php javascript regex

我正在尝试使用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");给了我乱码文字enter image description here 也许我可以以某种方式检测到它?

问:这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

这在我测试时似乎有效,但你需要仔细检查:

$output = preg_replace('/[^(\x20-\x7F)]*/','', $output);