我正在尝试使用ereg_replace()
仅允许上下字母和空格,因为我将使用逗号将其爆炸。
我在下面有这个代码,但它正在移除空格,我可以弄清楚如何允许,通过。
$type = ereg_replace("[^A-Za-z\.-:/-]", "", $string);
我也知道ereg_replace()
已被弃用,但这是我收到的关闭。
答案 0 :(得分:3)
使用以下
$new_string = preg_replace('/[^A-Za-z ,]/', '', $string);
这将允许A-Z,a-z,逗号和空格并删除其他所有内容。
NB。其他一切都包括重音字符等。
答案 1 :(得分:3)
简单地转义逗号和空格
$type = ereg_replace("[^A-Za-z\.-:/-\,\ ]", "", $string);
转换为preg时可以获得相同的结果
$type = preg_replace("/[^A-Za-z\.-:\/\,\ ]+/", "", $string);
答案 2 :(得分:2)
不要使用已弃用的功能,因为某种原因而弃用它们。如果您只想允许a-z,A-Z和空格,请使用:
preg_replace( '~[^a-z ]~i', '', $subject );
编辑:根据您的评论“它仍在删除逗号和空格”,我认为您也希望允许使用逗号。在这种情况下,请使用:
preg_replace( '~[^a-z, ]~i', '', $subject );