【发布时间】:2011-12-16 13:05:46
【问题描述】:
我的应用程序构建了一个包含 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 112098。
如果它在字符串的末尾,我本可以理解...有人知道发生了什么吗?
【问题讨论】:
-
您能否向我们展示适用于该字符串的相关代码?更有可能是代码中存在错误而不是字符串连接。如果您能给我们提供操纵它的部件,我们有望为您指明正确的方向。
-
不知道这是否会有所帮助,但是如果您将所有字符串推入一个数组然后 implode() 它来构建字符串而不是使用串联会发生什么?
-
通常情况下,smtp 协议实现不允许在一行中超过 ~76 列/字符,然后在通信过程中会切断这些行。尝试将链接每行放置一行(用“\n”括起来)。
-
您可以将字符串的输出写入屏幕而不是通过电子邮件发送吗?从 PHP 发送电子邮件时,字符可能会丢失。
-
请测试
$links .= "<p><a href='http://www.mysite.com/dl/Downloadpage.php?reference=".$ref."&pass=".$passlink."&pid=".$product['pr_id']."'>Click here to download ".$product['Title']."</a></p>\r\n";?
标签: php utf-8 concatenation character