在某些情况下,允许设置表单元素的属性而不进行转义可能会派上用场。示例是通过以下方式分配多个类
class="class1 class2"
或者使用bootstrap验证匹配字段,这需要属性
data-match="#field1"
在field2上,以检查field1和field2是否具有相同的内容。
如果我像这样创建空格和散列符号,ZF2表单创建机制将对它们进行转义:
$this->add(array(
'name' => 'field2',
'type' => 'text',
'attributes' => array(
'data-match' => '#field1'
)
));
我在这个问题上做了相当多的搜索,到目前为止什么也没有找到(除了一两个关于ZF1的过时答案)。粗略地看一下ZF2的源代码进一步表明,可能确实根本不可能禁用转义,没有留下任何简单的方法来实现我想要的。但我发现这很难想象,我仍然更愿意相信我在搜索和PHP方面做得很糟糕。哪一个是正确的?
发布于 2020-10-08 16:52:34
正如有人在twitter上友好地向我指出的那样,数据匹配和明显的分离类也可以使用转义空格/散列。我没有想到这一点,因为我没有预料到这一点,而且我的代码由于无关的原因无法正常工作。但考虑到这一事实,转义当然可以普遍使用,而不会导致所描述的问题。
https://stackoverflow.com/questions/64220779
复制相似问题