Php Zend 2形式的离散逃逸

Php Zend 2形式的离散逃逸,php,forms,zend-framework,zend-framework2,escaping,Php,Forms,Zend Framework,Zend Framework2,Escaping,在某些情况下,允许在不转义的情况下设置表单元素的属性似乎很方便。例如,通过 class="class1 class2" 或者对匹配字段使用引导验证,这需要属性 data-match="#field1" 在字段2上,以检查字段1和字段2是否具有相同的内容 如果我这样创建空格和哈希符号,则ZF2表单创建机制将对其进行转义: $this->add(array( 'name' => 'field2', 'typ

在某些情况下,允许在不转义的情况下设置表单元素的属性似乎很方便。例如,通过

class="class1 class2"
或者对匹配字段使用引导验证,这需要属性

data-match="#field1"
在字段2上,以检查字段1和字段2是否具有相同的内容

如果我这样创建空格和哈希符号,则ZF2表单创建机制将对其进行转义:

   $this->add(array(
        'name' => 'field2',
        'type' => 'text',
        'attributes' => array(
            'data-match' => '#field1'
        )
    ));

我对此做了大量搜索,但迄今为止没有找到任何结果(除了一两个与ZF1有关的过时答案)。粗略地看一下ZF2的源代码进一步表明,禁用转义功能可能根本不可能,因此无法直接实现我想要的功能。但我觉得这很难想象,而且我还是更愿意相信我在搜索和PHP方面很差劲。哪个是正确的?

正如有人在twitter上亲切地向我指出的那样,数据匹配和显然也分离类也适用于转义空格/散列。我没有想到这一点,因为我没有预料到这一点,而且我的代码由于无关的原因无法正常工作。但是考虑到这一事实,转义器当然可以普遍使用,而不会引起所描述的问题。

请参见
Zend\Form\View\Helper\AbstractHelper::createAttributeString
,这就是html属性转义器的引用位置。所以,也许你能在自己的逃犯身上度过最后的一刻。。。以某种方式