我最近更新到PHP 5.3,並得到了一些不贊成的錯誤。preg_match()[function.preg-match]:未知的修飾符'@'
Warning: preg_match() [function.preg-match]: Unknown modifier '@' in
首先我想提一下,我已經檢查了以前的鏈接並嘗試了建議的內容。
preg_match(): Unknown modifier '@'和How can I convert ereg expressions to preg in PHP?
...但是,當我沒有進行更改,從
function check_email_address($email) {
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
到
function check_email_address($email) {
if (preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
,也試過
if (preg_match('/^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i', $email);
我的註冊頁面不接受電子郵件,並說有無效的電子郵件。
但與此同時警告"Unknown modifier '@'"
已經消失。
所以有些東西是對的,但仍然有點不對。只需要一點幫助。
任何建議或提示?
請勿使用正則表達式來驗證電子郵件。使用'filter_var()'函數代替:'if(filter_var($ email,FILTER_VALIDATE_EMAIL)){// valid email}' –
[PHP使用preg \ _replace:「分隔符不能是字母數字或反斜槓」錯誤。 (http://stackoverflow.com/questions/2527657/php-using-preg-replace-delimiter-must-not-be-alphanumeric-or-backslash-error) – Toto