Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
\r\n添加到textfield会导致PHP/HTML格式_Php_Html_Forms - Fatal编程技术网

\r\n添加到textfield会导致PHP/HTML格式

\r\n添加到textfield会导致PHP/HTML格式,php,html,forms,Php,Html,Forms,我在表单中有一个文本区域,可以执行以下操作: <textarea rows="4" name="message"></textarea> 然后使用PHPMailer将其作为电子邮件的一部分发送: $message .= '<p style="font-family: Arial, verdana, sans-serif;"><strong>Brief Message</strong>: ' . $text_form . '</p

我在表单中有一个文本区域,可以执行以下操作:

<textarea rows="4" name="message"></textarea>
然后使用PHPMailer将其作为电子邮件的一部分发送:

$message .= '<p style="font-family: Arial, verdana, sans-serif;"><strong>Brief Message</strong>: ' . $text_form . '</p>';
上述方法实际上是从Lynda.com教程中逐行复制的

现在在电子邮件中,如果用户在文本字段中点击return,他会得到这个消息

这是第一行。现在我将按return键。\r\n这是新行

为什么要添加\r\n?我明白这些是什么意思,但它们为什么会出现?

来自:

mysql\u real\u escape\u string()调用mysql的库函数mysql\u real\u escape\u string,它将反斜杠前置到以下字符:\x00、\n、\r、\、'、”和\x1a

因此,您的字符串现在包含两个反斜杠和两个以上的字母,而不是换行符


现在的问题是以后如何处理
$value
。如果将其插入SQL语句中,它应该是这样的;如果直接用于邮件,它具有文本
\r\n
,而不是回车换行符。

您可以演示如何调用PHP Mailer吗?一些邮件脚本要求您在它们是被调用的。我并没有在数据库中使用这个变量……所以用不同的方法清理它似乎就是答案。谢谢!
$message .= '<p style="font-family: Arial, verdana, sans-serif;"><strong>Brief Message</strong>: ' . $text_form . '</p>';
public function escape_value($value) {
    if ( $this->real_escape_string_exisits ) {
    if ( $this->magic_quotes_active ) { $value = stripslashes( $value ); }
        $value = mysql_real_escape_string($value);
    } else {
        if (!$this->magic_quotes_active ) { $value = addslashes( $value ); }
    }
    return $value;      
}