我有一个php表单,当发布时会发送一封确认电子邮件。表单有几个下拉列表,当填充时,显示零件的数量和名称。我的一切工作正常,在我的$ usermessage中,我列出了与下拉列表对应的所有变量。我只想显示已经填充的下拉列表和名称。我无法弄清楚如何在未填充变量时删除多余的空格。
当我有前两个下拉菜单和第八个下拉菜单时,我的确认电子邮件是这样的:
用户信息
名称
John Doe
电邮地址
email@email.com
地址
12345 street
美国
镇政府邮编
电话号码
1234567890
数量
项目#
2
CH171181
1
CH171182
1
CH171363
正如您所看到的,空间的巨大差距弥补了无人居住的变量。
这是我的代码:
public class FacebookPage extends Fragment {
WebView webView;
ProgressDialog progress;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
Bundle savedInstanceState) {
View mainView = (View) inflater.inflate(R.layout.facebook_page, container, false);
WebView webView = (WebView)mainView.findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://www.facebook.com/TahrirLounge/");
progress = ProgressDialog.show(this, "Loading",
"Loading", true);
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
if (progress != null)
progress.dismiss();
}
});
return mainView;
}
答案 0 :(得分:1)
不是在1个连续字符串中写入输出,而是需要检查变量是否包含字符串。如果它是空的,那么甚至不要将其包含在$usermessage
中。
例如:
if ($CH171183 !== ''):
$usermessage .= $CH171183 . "\n" . $var3;
endif;
这意味着如果$CH171183
包含字符串,它将包含在输出($usermessage
)中。但如果它没有 - 包括那些原本会去的空间 - 将出现在输出中。换句话说,您只需在 要显示数据的位置创建输出。
原始代码的问题是$usermessage
没有检查变量是否为空。所以如果它是空的,你最终会在输出中留下空格。
答案 1 :(得分:0)
试试这个
str_replace(chr(13), "", $usermessage)
答案 2 :(得分:0)
尝试以下代码:
$email = $_POST["email"];
$myemail ="$email";
$vars = Array("CH171181",
"CH171182",
"CH171183",
"CH171184",
... etc
);
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
$address = $_POST["address"];
$address2 = $_POST["address2"];
$country = $_POST["country"];
$city = $_POST["city"];
$state = $_POST["state"];
$zip = $_POST["zip"];
$phone = $_POST["phone"];
$user = "$myemail";
$usersubject = "Subject";
$userheaders = "From: support@support.com\n";
$usermessage = "
Users Information
Name
$first_name $last_name
Email address
$email
Address
$address
$address2
$country
$city $state $zip
Phone Number
$phone
Qty
Item #";
foreach($vars as $idx => $v){
if($_POST[$v]){
$usermessage .= $idx . "\n" . $v . "\n";
}
}
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
mail($user,$usersubject,$usermessage,$userheaders,$headers);
}