PHP:连接长字符串时丢失字符

时间:2011-12-16 13:05:47

标签: php utf-8 concatenation character

我的应用程序构建一个字符串,发送给我的客户,其中包含html链接,以便他们下载他们的产品。

我基本上遍历他们所做的订单,并为mail()函数生成一个字符串。

$links .= "<p><a href='http://www.example.com/dl/Downloadpage.php?reference=".$ref."&pass=".$passlink."&pid=".$product['pr_id']."'>Click here to download ".$product['Title']."</a></p>";

只要有5个或更多链接,我就会在其中一个链接中间丢失一个字符...例如http://ww.mysite.com&lt; - 只有一个“w”,或者如果引用为1128098,它将打印112098

我本可以理解它是否在字符串的末尾......任何人都知道发生了什么事?

1 个答案:

答案 0 :(得分:1)

通常,smtp协议实现在一行中不允许超过~76列/字符,然后在通信期间切断行。尝试将链接分别放置一行(用“\ n”包围)。

请尝试: $links .= "<p><a href='http://www.mysite.com/dl/Downloadpage.php?reference=".$ref."&pass=".$passl‌​ink."&pid=".$product['pr_id']."'>Click here to download ".$product['Title']."</a></p>\r\n";