删除$ _POST symfony的转义引号

时间:2013-09-15 14:36:56

标签: php wordpress symfony

我有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。

非常感谢任何想法

2 个答案:

答案 0 :(得分:0)

以symfony方式访问POST数据:

$request->request->get('mymessage')

或者使用FormTypes以正确的方式执行:http://symfony.com/doc/current/book/forms.html

答案 1 :(得分:-1)