限制字符串中使用的字符

时间:2010-06-15 14:25:25

标签: php scripting string

如何将字符串限制为列入白名单的字符?

// "HOW am I to understand; this is, BAD"

$str = restrictTo($str,"0-9a-z,. ");

// " am I to understand this is, "

PHP中是否有一个内置函数可以做一些接近的事情?我不能为此制定正则表达式:(

1 个答案:

答案 0 :(得分:2)

好的,如果您只想更换字符,请使用preg_replace(注意,您可以添加任意一些带有几个鱼尾的角色。

  1. 如果您想添加-,它必须位于列表的末尾
  2. 如果您想添加\,则必须由另一个\
  3. 转义
  4. 如果您想要/[],则必须通过\转义
  5. 这允许某些字符并过滤掉其余字符:

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

    如果要拒绝任何字符不匹配的字符串:

    if (preg_match('/[^A-Za-z.,]/', $str)) {
        //Rejected String
    }