function send_mails($adress, $subject, $message, &$tpl)
{
// fix for correct display of newlines and spaces in the message
$textmail = ereg_replace( "\n", "\r\n", $message);
$textmail = wordwrap($textmail, 70, "\r\n");
//prepare text to show online (html)
$textshow = ereg_replace( "\r\n", "<br>", $textmail);
$sent = '-- HTML Code to show the Mail you sent --';
$tpl->assign(BODY, $sent);
$mailtext = utf8_decode($textmail);
$headers = '-- Functional Header --';
mail ($adress, $subject, $mailtext, $headers);
}
我现在的问题是,如果邮件包含撇号,他们就会显示如下:
我们太好了,所以你不应该判断这个示例文本的内容
我已尝试$textmail = ereg_replace(" \' ", " ' ", $textmail);
,但这似乎无效。
我非常确定有一个简单的解决办法,但我现在已经找了一段时间并且找不到解决办法......可能是在寻找错误的东西。
答案 0 :(得分:2)
string stripslashes ( string $str )
正是您要找的!
$str = "We\'re too good, so you shouldn't judge this example text\'s content";
$newStr = stripslashes ( $str );
echo $newStr;
输出:
We're too good, so you shouldn't judge this example text's content
修改强>
VolkerK的评论:
我认为首先确定可能有用 这是否会对抗原因或只是一种症状...
请考虑一下,这是一种Hot-Fix,你应该试着找出,实际发生的方式和地点?
开头的$message
是否包含这些斜杠? (只是echo
。)
如果是,$message
来自哪里?
如果没有,请一直浏览$message
- &gt; $textmail
- &gt; $textshow
...并找出,在那一步做到并消除它!