1

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

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

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

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

4

3 回答 3

3

使用以下

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

这将允许 AZ、az、逗号和空格并删除其他所有内容。

注意。其他所有内容都包括重音字符等。

于 2012-09-07T14:40:34.343 回答
3

简单地避开逗号和空格

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

转换为 preg 可以获得相同的结果

$type = preg_replace("/[^A-Za-z\.-:\/\,\ ]+/", "", $string); 
于 2012-09-07T14:44:10.997 回答
2

不要使用已弃用的功能,它们已被弃用是有原因的。如果您只想允许 az、AZ 和空格,请使用:

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

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

preg_replace( '~[^a-z, ]~i', '', $subject );
于 2012-09-07T14:37:41.110 回答