تیشرت Laravel
خرید
اطلاعات بیشتر

چگونه : مشکل “Function eregi() is deprecated” را حل کنیم ؟

در هر بار بروزرسانی php تعدادی از توابع از رده خارج می شوند و تعدادی دیگر جایگزین آن . در بعضی از اسکریپت های قدیمی و برنامه های php ممکن است از تابع eregi استفاده شده باشد

if(!eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$", $str)) {
    $msg = 'email is not valid';
}
else {
$valid = true;
}

و اگر این تابع را در نسخه های جدید php (از ۵.۳.۰ به بعد) اجرا کنید ، با این خطا مواجه می شوید :

Deprecated: Function eregi() is deprecated in C:\wamp\www\OB\admin_add_acc.php on line 20 and 27

 راه حل

برای حل مشکل کافی است از تابع preg_match به همراه پارامتر “i” استفاده کنید . این پارامتر (i) در عبارات منظم (Regular Expressions) برای حساس بودن به حروف بزرگ و کوچک استفاده می شود .بنابراین اگر کد بالا را تصحیح کنیم به این شکل در می آید :

if(!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $str)) {
    $msg = 'email is not valid';
}
else {
$valid = true;
}

منبع

در همین رابطه :   اعتبارسنجی فیلدهای email و url با عبارات منظم (Regular Expressions)
دسته بندی : PHP

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

More in فونت
۵۰ فونت انگلیسی جدید و بسیار زیبا ۲۰۱۱

امروز 50 فونت جدید و داغ سال 2011 را از طرف سایت 1stwebdesigner برای شما آماده کرده ایم که امیدواریم...

Close