ereg_replace删除空格

时间:2012-09-07 14:30:10

标签: php

我正在尝试使用ereg_replace()仅允许上下字母和空格,因为我将使用逗号将其爆炸。

我在下面有这个代码,但它正在移除空格,我可以弄清楚如何允许,通过。

$type = ereg_replace("[^A-Za-z\.-:/-]", "", $string);

我也知道ereg_replace()已被弃用,但这是我收到的关闭。

3 个答案:

答案 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 );