我已经构建了一个电子邮件应用程序(?),并且我希望在用户提交表单时过滤掉特殊字符(例如!@£$%^)。这是我到目前为止所做的:<?php$name = $_POST['name'];$to = "hm_087@hotmail.com";$subject = "Test";$message = $name;$invalid= array("@","!","#");if (($_POST['name'])!== $invalid[0]){ mail($to, $subject, $message); echo 'Message sent';} else { echo 'Invalid character entered';}?>正如您所看到的,我创建了一个数组来执行此操作,但我仅限于过滤掉一个特殊字符(即@字符)。有什么方法可以从数组中选择要过滤掉的所有字符?
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
您只需使用正则表达式即可进行字符匹配。
if (!preg_match('/[!@£$%^]/', $name)) {
mail($to, $subject, $message);
echo 'Message sent';
} else {
echo 'Invalid character entered';
}
!@£$%^这里它正在检查您在问题中特别提到的字符,但是“我希望过滤掉特殊字符”有点含糊,我怀疑您的意思是在其中包含更多字符。如果您可以更具体地说明您想要允许哪些字符,我们可以改进正则表达式。
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消