我在网站的联系页面中有代码,用于汇总用户的条目并将其放入电子邮件正文中。这是一系列这样的行:
$email_message .= "Name: ".clean_string($name)."\r\n";
$email_message .= "Address: ".clean_string($address)."\r\n";
$email_message .= "City: ".clean_string($city)."\r\n";
$email_message .= "State: ".clean_string($state)."\r\n";
$email_message .= "Zip: ".clean_string($zip)."\r\n";
clean_string是一个删除一些会搞砸的东西的函数。这是代码:
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
在此代码的末尾,我最近添加了一个新行,以包含一个新项目,人们可能会写一些很长的内容。
$email_message .= "Purpose: ".clean_string($purpose)."\r\n";
我发现如果用户输入31个或更多字符,该行和后续行的“\ r \ n”无效,所有这些行一起运行。有30个字符,所有看起来都是正确的,但有31个,它就搞砸了。
我假设我遇到了一些我不知道的限制,但无法确定它是什么。