在Zend中用破折号替换空间?

时间:2016-01-18 23:26:37

标签: php zend-framework

    if ($settings->getSetting('que_tags', 0)) {
        $this->addElement('Text', 'qtags', array(
            'label' => Zend_Registry::get('Zend_Translate')->_('Tags'),
            'autocomplete' => 'on',
            'description' => Zend_Registry::get('Zend_Translate')->_('Use commas to separate tags.'),
            'allowEmpty' => false,
            'filters' => array('StringTrim', 'StringToLower', new Engine_Filter_Censor()),
        ));

我想改变这个:

"英国"到了#34;联合王国"。

我能够在代码上插入StringToLower但是当我添加SeparatorToDash时,它无法正常工作。

是否有一种简单的方法可以通过在上面的代码中添加/插入一行来实现更改?

1 个答案:

答案 0 :(得分:0)

Zend提供了开箱即用的过滤器,该类名为SELECT * FROM SomeTable WHERE SomeColumn IS NOT NULL

Zend_Filter_Word_SeparatorToDash

更高级的过滤可能需要从头开始创建过滤器类,或者您可以随时使用$form = new Zend_Form_Element('test'); $form->addFilter(new \Zend_Filter_Word_SeparatorToDash()); $form->setValue('United Kingdom united kingdom'); var_dump($form->getValue()); // United-Kingdom-united-kingdom

Zend_Filter_Callback

对于更多过滤器可以检查zend过滤器文件夹,它们有很多。