php - Zend Framework 2 过滤/验证内容数组

标签 php zend-framework2

如何将过滤器应用于包含数组内容的字段元素?

例如:

$this->add(
  "name" => "tags",
  "type" => "text",
  "filter" => array(
    array("name" => "StripTags"),
    array("name" => "StringTrim")
  )
);

$tags[0] = "PHP";
$tags[1] = "CSS";

如果我尝试过滤,我会收到一条错误消息,指出标量对象被排除,数组已给定。

最佳答案

目前这真的不可能。你最好的选择是使用 Callback filter并单独过滤每个项目。像这样

$this->add(
  "name" => "tags",
  "type" => "text",
  "filter" => array(
    array("name" => "Callback", "options" => array(
       "callback" => function($tags) {
          $strip = new \Zend\Filter\StripTags();
          $trim = new \Zend\Filter\StringTrim();
          foreach($tags as $key => $tag) {
            $tag = $strip->filter($tag);
            $tag = $trim->filter($tag);
            $tags[$key] = $tag;
          }
          return $tags;
    }))
  )
);

关于php - Zend Framework 2 过滤/验证内容数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18293870/

相关文章:

php - 如何使用php和mysql获取金额总和

php - Dart 中的单管等效物是什么?

php - Zend Framework 2 和 SELECT count(*) 查询

doctrine-orm - Controller 清洁。模范学说

layout - ZendFramework 2 - 加载不同模块的布局时出错

module - zfcUser getState 在另一个模块中

php - Laravel Carbon::today() 方法返回前一天

php - 根据查询字符串判断查询类型

php - Zend Framework 2 将变量传递给模型

php - magento - 检索给定类别ID的所有子类别