0

我正在尝试在引导程序中创建一个函数来启动 Zend_Filter_StripTags 的对象,以便我可以在整个应用程序中使用它的对象。

protected function _initHtmlFilter() {  
 $allowedTags = array('p','b','br','strong'); // Allowed tags 
 $allowedAttributes = array('href'); // Allowed attributes  
 $stripTags = new Zend_Filter_StripTags($allowedTags,$allowedAttributes); 
}

但我无法在任何控制器中使用这个对象($stripTags)。

4

2 回答 2

1

我会为此创建一个控制器动作助手:

class My_Controller_Action_Helper_StripTags extends
    Zend_Controller_Action_Helper_Abstract
{
    /**
     * StripTags
     *
     * @param string $input String to strip tags from
     *
     * @return string String without tags
     */
    public function stripTags($input) 
    {
        $allowedTags = array('p','b','br','strong'); // Allowed tags 
        $allowedAttributes = array('href'); // Allowed attributes  
        $stripTags = new Zend_Filter_StripTags($allowedTags,$allowedAttributes);

        // return input without tags
        return $stripTags->filter($input);

    }
}


// example in indexAction
$noTags = $this->_helper->stripTags('<h2>TEST</h2>');

您必须在 application.ini 中添加助手的路径:

resources.frontController.actionhelperpaths.My_Controller_Action_Helper_ = "My/Controller/Action/Helper"
于 2013-01-09T10:47:58.633 回答
0

您可以为此使用 zend 注册表:

  protected function _initHtmlFilter() {
    $allowedTags = array('p','b','br','strong'); // Allowed tags
    $allowedAttributes = array('href'); // Allowed attributes
    $stripTags = new Zend_Filter_StripTags($allowedTags,$allowedAttributes);
    Zend_Registry::set('zend_strip_tags', $stripTags);
}

并且可以在任何地方访问它:

Zend_Registry::get('zend_strip_tags');
于 2013-01-09T10:52:31.920 回答