Zend_Filter 为数据过滤提供了一个静态函数库。对输入数据的过滤,请见 第 7.2 节 “Zend_Filter_Input”,它提供了一个过滤输入数据的框架。不过,Zend_Filter_Input主要是针对数组的,标量要用Zend_Filter来过滤,它看起来有点像PHP的字符串函数:
<?php
$alphaUsername = Zend_Filter::getAlpha('John123Doe');
/* $alphaUsername = 'JohnDoe'; */
?>
下面每个用例中使用的$value是个随意的标量值。
白名单过滤(判定$value是否符合规则,返回TRUE或FALSE):
<?php
if (Zend_Filter::isEmail($value) === TRUE) {
/* $value符合email的格式 */
} else {
/* $value不符合email的格式 */
}
?>
不明数据过滤(滤去不符合规则的那部分数据后返回):
<?php
$alphaName = Zend_Filter::getAlpha($value);
?>
黑名单过滤(滤去位于黑名单之列的那些数据后返回,比如HTML标签、PHP代码):
<?php
$taglessComment = Zend_Filter::noTags($value);
?>