消息输入字段验证

时间:2019-09-06 22:03:32

标签: php html

此PHP验证确实是新的

因此,我正在尝试提交联系表格,我能够验证所有其他字段(期望message(Textarea)输入字段)。我一直试图以<h1>Hello</h1>的形式输入字段,并且HTML标记能够通过,并且在电子邮件中,消息部分以h1格式显示/显示。

输入字段

[1] https://imgur.com/QEJlPvw

已发送的电子邮件

[2] https://imgur.com/ypN4rVu

是因为我正在使用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标记。

感谢您的帮助

1 个答案:

答案 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