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
时,它无法正常工作。
是否有一种简单的方法可以通过在上面的代码中添加/插入一行来实现更改?
答案 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过滤器文件夹,它们有很多。