我想在我的实体保存中执行没有引号的htmlspecialchars。
代码:
$post['body'] = htmlentities($this->request->getData('body'), ENT_NOQUOTES);
Validator不会保存。
如何让它发挥作用?
由于
答案 0 :(得分:0)
h()
方法只是htmlspecialchars()
的一个包装器,可以在Cake API https://book.cakephp.org/3.0/en/core-libraries/global-constants-and-functions.html#h
h(string $text, boolean $double = true, string $charset = null)
它的长短是这些函数的第一个参数是一个字符串,你传入一个数组。如果你想剥离它们,你可以用自己或个人覆盖patchEntity()
,在每个元素上运行特殊的字符函数
编辑:添加了更多明确的示例以保持验证
您可以使用withData设置响应数据并仍然使用补丁实体。例如。
$data = $this->request->withData('body', htmlentities($this->request->getData('body'), ENT_NOQUOTES))
然后使用新的请求对象修补/验证实体。
patchEntity($post, $data)