我已經(jīng)構(gòu)建了一個電子郵件應(yīng)用程序(?),并且我希望在用戶提交表單時過濾掉特殊字符(例如!@£$%^)。這是我到目前為止所做的:<?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';}?>正如您所看到的,我創(chuàng)建了一個數(shù)組來執(zhí)行此操作,但我僅限于過濾掉一個特殊字符(即@字符)。有什么方法可以從數(shù)組中選擇要過濾掉的所有字符?
1 回答

波斯汪
TA貢獻1811條經(jīng)驗 獲得超4個贊
您只需使用正則表達式即可進行字符匹配。
if (!preg_match('/[!@£$%^]/', $name)) {
mail($to, $subject, $message);
echo 'Message sent';
} else {
echo 'Invalid character entered';
}
!@£$%^這里它正在檢查您在問題中特別提到的字符,但是“我希望過濾掉特殊字符”有點含糊,我懷疑您的意思是在其中包含更多字符。如果您可以更具體地說明您想要允許哪些字符,我們可以改進正則表達式。
- 1 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報
0/150
提交
取消