我有3种形式,都非常类似于内部的wp_editor:
<tr valign="top">
<th scope="row">
<label for="mymessage">Message</label>
</th>
<td>
<?php wp_editor(
$mymessage,
'mymessage',
array(
'media_buttons' => false,
)
) ?>
<input type="hidden" id="mymessage" name="mymessage" value=""/>
</td>
</tr>
在表单提交上,首先使用javascript:
将编辑器的内容转到隐藏字段$('#my_form').submit(function(){
if ($("#wp-mymessage-wrap").hasClass("tmce-active")){
$('#my_message').val(tinyMCE.activeEditor.getContent());
}else{
$('#my_message').val($('#mymessage').val());
}
return true;
});
然后它转到symfony动作executeUpdate
的动作
在该操作的第一行,我输出$ _POST的内容
如果我把“你好”作为我的信息,以下是每种形式的结果:
\"hello\"
- 保存为"hello"
- 一次转义 - 正确的方式
\\\"hello\\\"
- 保存为\"hello\"
- 两次转义 - 额外的斜杠
\\\\\\\"hello\\\\\\\"
- 保存为\\\"hello\\\"
- 四次转义 - 额外3次斜杠
Magic Quotes is OFF - 我输出phpinfo()并检查。
为什么3种不同的表单会以不同的方式转义消息,如何才能将它们全部转义一次?
我的表单是在wordpress中,被调用的动作转到我的api,即symfony。
非常感谢任何想法
答案 0 :(得分:0)
以symfony方式访问POST数据:
$request->request->get('mymessage')
或者使用FormTypes以正确的方式执行:http://symfony.com/doc/current/book/forms.html
答案 1 :(得分:-1)