此PHP验证确实是新的
因此,我正在尝试提交联系表格,我能够验证所有其他字段(期望message(Textarea)输入字段)。我一直试图以<h1>Hello</h1>
的形式输入字段,并且HTML标记能够通过,并且在电子邮件中,消息部分以h1格式显示/显示。
输入字段
已发送的电子邮件
是因为我正在使用HTML标记将字段信息从发送到电子邮件中?
我尝试使用PHP函数删除特殊字符。
if (trim($_POST["message"]) == "") {
$message_error = "Your message should not be empty";
} else {
$message = test_input($_POST["message"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
if ($name_error == '' and $email_error == '' and $phone_error == '' and $message_error ==''){
$message_body = '';
unset($_POST['submit']);
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$to = ' ';
$subject = "Contact";
$body = '<html>
<body>
<h1>Message from Contact Us</h1>
<hr>
<p>Name:<br>'.$name.'</p>
<p>Email:<br>'.$email.'</p>
<p>Phone Number:<br>'.$phone.'</p>
<p>Message:<br>'.$message.'</p>
</body>
</html>';
//header
$headers = "Content-type: text/html; charset-utf8";
$to = '';
$subject = 'Contact Form Submit';
if (mail($to, $subject, $body, $headers)){
$success = "Message sent, Thank you for contacting us!";
$name = $email = $phone = $message = '';
}
}
}
我希望在发送之前先将文本区域(消息)剥离/除去HTML标记。
感谢您的帮助
答案 0 :(得分:0)
您可以使用strip_tags()函数:
strip_tags ( string $str [, string $allowable_tags ] ) : string
示例:
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
上面的示例将输出:
Test paragraph. Other text