Apostroph编码为转义字符

时间:2011-01-24 04:01:26

标签: php html 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/>';
    }

以下是Swiftmailer部分:

$message->setBody("Here is the information submitted to 

www.polycystic-kidneydisease.com/html/contact_email.php 来自$ ip on $ date。\ n \ n -------------------------------- \ n \ n name:$ name \ n \ n 电子邮件地址:$ email \ n \ n subject:$ form_subject \ n \ n 评论:$ form_message“);

我该如何解决? 谢谢!

1 个答案:

答案 0 :(得分:5)

启用magic_quotes_gpc之类的声音。如果你可以禁用它,你可能想这样做;如果没有,请在进行过滤之前在输入上使用stripslashes()