如何在Zend中调用自定义过滤器?

时间:2011-03-13 00:18:20

标签: zend-framework filter htmlpurifier

我想在我的网站上使用htmlpurifier,但无法弄清楚如何在视图中加载我的过滤器。我按照in the first answer here描述的方式添加了我的过滤器。

我希望能够通过$this->filter($content)之类的方式在我的视图中调用它。我有什么建议吗?

1 个答案:

答案 0 :(得分:6)

这是一个两步过程:

  1. 写一个HTMLPurifier的实际Zend_Filter实现(完成,回答你提到的问题)
  2. 撰写view helper
  3. 看起来像这样:

    class My_View_Helper_Purify extends Zend_View_Helper_Abstract
    {
       public function purify($value)
       {
           $filter = new My_Filter_HtmlPurifier();
    
           return $filter->filter($value);
       }
    }
    

    不要忘记添加自定义视图助手路径:

        $view->addHelperPath(
            APPLICATION_PATH . '/../library/My/View/Helper',
            'My_View_Helper_'
        );
    

    稍后在任何视图脚本中:

    <?= $this->purify($text) ?>