1

我正在尝试使用以下代码发送电子邮件

$mess00 = "Store Email: " . $storeEmail . "\r\n"; 
...         
$message = $mess00 . "<br \><br \>" . $mes1 . "<br \><br \>" . $mess0 . "<br \>" . $mess1 . "<br \>" . $mess2 . "<br \>" .  $mess3;

$message = "<html><body><p>".$message."</p></body></html>";
try {
$this->Mail($storeEmail, $subject, $message);

现在假设如果商店名称是StackOver's Inc. , 在电子邮件中我得到StackOver\'s Inc.了我怎样才能使这些 \ 可以在您收到电子邮件时删除。

PS 这些名称存储在数据库中。

4

2 回答 2

2

在发送消息之前,您需要使用stripslashes()删除反斜杠。

$clean_message = stripslashes ($message);
$this->Mail($storeEmail, $subject, $clean_message);
于 2013-10-02T03:42:08.183 回答
1

这意味着您的数据库中的数据已经是错误的。在插入时您已magic_quotes_gpc启用;此功能在 5.3 中已弃用,并在 5.4 中完全删除,但旧版本仍会默认启用它。

阅读这篇文章,了解如何在无法升级安装的情况下在现有环境中禁用魔术引号。

修复上述问题后,您仍然需要修复所有受影响的数据库条目;您可以通过加载每条记录、应用stripslashes()并再次保存它们来做到这一点。

于 2013-10-02T03:54:07.320 回答