Я пытаюсь отправить электронное письмо через PHP, и тело письма хранится в базе данных MYSQL. По какой-то причине, когда я жестко кодирую тело как строку, он преобразует символы как "\n" в разрыв абзаца, но когда он извлекается из базы данных MYSQL, он оставляет "\n". Любой имеет хорошую идею, почему это и как это исправить? Я попытался преобразовать его в строку, но безрезультатно.
код:
$stmt = $conn->prepare("SELECT * FROM Tickets LIMIT 1");
$stmt->execute();
while($ticket = $stmt->fetch(PDO::FETCH_ASSOC)) {
$ticket_queue_id = $ticket["ticket_queue_id"];
$subject = "test";
$body = $ticket["body"];
$headers = "From: Email";
mail($recipient,$subject,$body,$headers);
echo "Sent test";
}
"Билеты" - это таблица MYSQL, где $ ticket ["body"] хранится как varchar.
В электронном письме приведенный выше код дает нечто вроде "Hello\n\world" в теле,
В то время как
$subject = "test";
$body = $ticket["body"];
$headers = "From: Email";
mail($recipient,$subject,$body,$headers);
похоже:
"Привет
Мир"
Спасибо!
Нашел ответ! Необходимо инкапсулировать $ ticket ["body"] с помощью stripcslashes. Найдено отсюда: PHP: преобразовать строку с одной кавычкой в двойную кавычку