http://www.php.net/manual/en/filter.filters.flags.php
如何使用此函数将字符串简化为a-z,数字和_?
答案 0 :(得分:2)
您必须使用回调过滤器并编写函数
function my_filter($value)
{
return preg_replace('/[^a-z\d_]/iu', '', $value);
}
$var = filter_var($var, FILTER_CALLBACK, array('options' => 'my_filter'));
如果您只想在过滤的var中使用小写字母,请从正则表达式中删除“i”标记。
当然,使用filter_var只是在这里多余的代码。这个更短。
$var = preg_replace('/[^a-z\d_]/iu', '', $var);
答案 1 :(得分:2)
显然你做不到。因为你问的实际上是介于65到90和97到122之间的东西。过滤器将剥离数字值小于32且大于127的字符。你应该使用正则表达式。