ereg_replace删除空格


ereg_replace removing spaces

我试图使用ereg_replace()只允许使用大写字母和小写字母以及空格,因为我将使用逗号分解它。

我有下面的代码,但它删除了空格,我可以弄清楚如何允许,通过。

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

我也知道ereg_replace()是不推荐使用的,但这是我得到的结束。

使用以下

$new_string = preg_replace('/[^A-Za-z ,]/', '', $string);

这将允许A-Z、A-Z、逗号和空格,并删除其他所有内容。

注:。其他一切都包括重音字符等。

只需转义逗号和空格

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

转化为preg 也可以得到同样的结果

$type = preg_replace("/[^A-Za-z'.-:'/',' ]+/", "", $string); 

不要使用不推荐使用的功能,它们被推荐使用是有原因的。如果你想只允许a-z,a-z和空格,请使用:

preg_replace( '~[^a-z ]~i', '', $subject );

编辑:根据你的评论"它仍在删除逗号和空格",我认为你也希望允许使用逗号。在这种情况下,使用:

preg_replace( '~[^a-z, ]~i', '', $subject );