如何将字符串限制为列入白名单的字符?
// "HOW am I to understand; this is, BAD"
$str = restrictTo($str,"0-9a-z,. ");
// " am I to understand this is, "
PHP中是否有一个内置函数可以做一些接近的事情?我不能为此制定正则表达式:(
答案 0 :(得分:2)
好的,如果您只想更换字符,请使用preg_replace(注意,您可以添加任意一些带有几个鱼尾的角色。
-
,它必须位于列表的末尾\
,则必须由另一个\
/
,[
或]
,则必须通过\
转义这允许某些字符并过滤掉其余字符:
$str = preg_replace('/[^A-Za-z,.]/', '', $str);
如果要拒绝任何字符不匹配的字符串:
if (preg_match('/[^A-Za-z.,]/', $str)) {
//Rejected String
}