Php 撇号作为\'发送; 函数发送邮件($address、$subject、$message和$tpl) { //修正消息中换行符和空格的正确显示 $textmail=ereg\u replace(“\n”、“\r\n”、$message); $textmail=wordwrap($textmail,70,“\r\n”); //准备要联机显示的文本(html) $textshow=ereg\u replace(“\r\n”、“”、$textmail); $sent='--显示您发送的邮件的HTML代码--'; $tpl->分配(正文,$sent); $mailtext=utf8_解码($textmail); $headers='--函数头--'; 邮件($address、$subject、$mailtext、$headers); }

Php 撇号作为\'发送; 函数发送邮件($address、$subject、$message和$tpl) { //修正消息中换行符和空格的正确显示 $textmail=ereg\u replace(“\n”、“\r\n”、$message); $textmail=wordwrap($textmail,70,“\r\n”); //准备要联机显示的文本(html) $textshow=ereg\u replace(“\r\n”、“”、$textmail); $sent='--显示您发送的邮件的HTML代码--'; $tpl->分配(正文,$sent); $mailtext=utf8_解码($textmail); $headers='--函数头--'; 邮件($address、$subject、$mailtext、$headers); },php,html,Php,Html,我现在的问题是,如果消息中包含撇号,它们将显示如下: 我们太好了,所以你不应该判断这个示例文本的内容 我试过$textmail=ereg\u replace(“\'”,“'”,$textmail)但这似乎不起作用 我很确定有一个简单的解决办法,但我已经找了一段时间了,还没有找到解决办法。。。可能是搜索了错误的东西。字符串条斜杠(string$str)就是您要找的 function send_mails($adress, $subject, $message, &$tpl) {

我现在的问题是,如果消息中包含撇号,它们将显示如下:

我们太好了,所以你不应该判断这个示例文本的内容

我试过
$textmail=ereg\u replace(“\'”,“'”,$textmail)但这似乎不起作用

我很确定有一个简单的解决办法,但我已经找了一段时间了,还没有找到解决办法。。。可能是搜索了错误的东西。

字符串条斜杠(string$str)
就是您要找的

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);
}
输出:

我们太好了,所以你不应该判断这个示例文本的内容


编辑

沃尔克的评论:


我认为首先确定 这是对抗病因还是仅仅是一种症状

请考虑一下,这是一个热点问题,你应该设法弄清楚,这是如何发生的,在哪里发生的?p> 开头的
$message
是否包含这些斜杠?(只是
echo
it。)

  • 如果是,
    $message
    来自哪里

  • 如果没有,请从头到尾检查
    $message
    ->
    $textmail
    ->
    $textshow
    ..并找出是哪一步执行并在那里消除它


尝试
$textmail=ereg\u替换(“\\'”、“'”、$textmail)只是好奇:什么是
为什么“不应该”逃逸了。。。。。。。?是否检查了添加撇号的步骤?忘记添加\in不应。。。这只是我输入的一个示例文本…所以magic_quotes_gpc是打开的。请仔细阅读-你接受的答案(没有错;我是带着全世界所有的爱这么说的;-))是治疗一种症状,而不是根本原因。我认为首先确定这是对抗原因还是仅仅是症状可能是有用的…你绝对正确!我会在答案中加上这个!谢谢你的快速回复!我现在已经实现了stripslashes(),并且它正在(obv.)工作。查看源代码:$消息已包含斜杠。。。我是从短信区得到的是的!但请记住我的答案和沃尔克写的东西!我希望我能帮助你!至于斜杠的来源,有人知道吗?它通过一个文本区域获取它,并将其发布到我的邮件发送脚本,然后该脚本将其用于send_mails()-函数。。。
$str = "We\'re too good, so you shouldn't judge this example text\'s content";

$newStr = stripslashes ( $str );

echo $newStr;