Apostroph编码为转义字符

vle*_*sha 1 html php swiftmailer

我有一个PHP脚本,它从HTML表单中获取数据并通过SwiftMailer发送给它.当用户在输入字段(textarea)中输入撇号或引号时,电子邮件看起来像这样:

表格输入:丈夫的PLD

收到的电子邮件:丈夫的PLD

表格输入:pld的"小吃""老"

收到的电子邮件:pld \'s \"snack \"\"old \"

我的脚本中有一些验证和卫生:

if ($_POST['form_message'] != "") {
        $form_message = filter_var($_POST['form_message'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
        if ($_POST['form_message'] == "") {
            $errors .= 'Please enter a valid comment.<br/><br/>';
        }
    } else {
        $errors .= 'Please enter your comment.<br/>';
    }
Run Code Online (Sandbox Code Playgroud)

这是Swiftmailer部分:

$message->setBody("Here is the information submitted to 
Run Code Online (Sandbox Code Playgroud)

www.polycystic-kidneydisease.com/html/contact_email.php来自$ ip on $ date.\n \n -------------------------- ------ \n \n名称:$ name \n \n电子邮件地址:$ email \n \n主题:$ form_subject \n \n comment:$ form_message");

我如何解决它?谢谢!

Amb*_*ber 5

听起来像是magic_quotes_gpc启用.如果你可以禁用它,你可能想这样做; 如果没有,请stripslashes()在进行过滤之前使用输入.