چگونه : مشکل “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;
}

منبع

در همین رابطه :   افزایش سرعت بارگذاری سایت با استفاده از تابع flush در php

پاسخ دهید

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

More in HTML 5
دانلود رایگان ۱۰ قالب واکنش گرای Bootstrap

خوشبختانه خیلی از توسعه دهندگان و طراحان قالب هستند که قالب های وب سایت زیبا و رایگانی را طراحی و...

Close