我已經構建了一個電子郵件應用程序(?),并且我希望在用戶提交表單時過濾掉特殊字符(例如!@£$%^)。這是我到目前為止所做的:<?php$name = $_POST['name'];$to = "[email protected]";$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 關注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消