我试图使用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 );