راکت

حذف کردن جیمیل دات کام از نام کاربری

12 پاسخ

سلام‌ کدی هست بزارم تو فانکشن که  اگه کاربری نام کاربریش جیمیلش باشه از@gmail.com حذف بشه به صورت خودکار
مثلان اگه نام کاربریش این باشه 

mohammad0@gmail.com

نام کاربریش خودکار بشه این 
mohammad1800

یعنی میخوام از @gmail.com حدف بشه

ممنون میشم کمکم کنید 

ثبت پرسش جدید

پاسخ‌ها

12
محمد مهدی ملک پور
محمد مهدی ملک پور
@mohamahdimp

دوست عزیز می‌تونید از regex استفاده کنید و بگید بعد از @ هرچی بود رو حذف کنه.

محمد
محمد
@mohammadafrozei1395

سلام میشه کدشو بهم بدی بزارم فانکشن سایتم که خودکار حذف بشه

شاید پاسخ شما همین‌جا باشد

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

دو راه حل دارید ، یکی اگر مطمئن هستید فقط @gmail.com میخواین حذف بشه از استرینگ ریپلیس استفاده کنید

str_replace('@gmail.com', ' ', $str);

در غیر اینصورت اگر از @ تا آخر رو میخواید از استرینگ بردارید از ریجکس باید استفاده کنید

$pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i";
preg_replace($pattern, '', 'juza666@ymail.com');
محمد
محمد
@mohammadafrozei1395

سلام اینو چطوری بزارم تو فانکشن سایتم؟ میشخ کاملش کنید اگه میشه

Reza
Reza
@Rezanp7

تخصص: برنامه نویس وب

سلام
هرجایی که میخواید نام کاربری یوزر رو ثبت کنید جمیلیش رو بگیرید و بریزید توی یه متغییر و پاس بدید به regex که دوستمون دادن
اگرم موقع ثبت نام یوزرنیم کاربر رو ست میکنید کافیه ایمیلی که کاربر از طریق input وارد میکنه رو بگیرید و پاس بدید به این Regex و مقدار نهایی رو برای یوزرنیم کاربر در نظر بگیرید

محمد
محمد
@mohammadafrozei1395

نمیدونم چطوریه این😔😔

رضا جهانگیر
رضا جهانگیر
@rezajahangir

تخصص: Full-Stack Developer

سلام به شمادوست عزیز.
دوست عزیزمون آقای @juza66 توضیح دادن که باید چیکار کنید ولی من توضیحاتشونو کامل تر میکنم.
شما اول باید به صورت زیر ایمیل کاربر رو بگیرید و داخل یه متغییر بریزید:

$user_name = auth()->user()->email

بعد این متغییر رو به صورت زیر بدین به str_replace:

str_replace('@gmail.com', ' ', $user_name);

موفق باشید.

محمد
محمد
@mohammadafrozei1395

سلام من اصلان هیچی از کد نویسی بلد نیستم میشه یه جوری کاملش کنید بزارمش تو فانکشن قالبم

میکائیل
میکائیل
@FullStack

تخصص: برنامه نویسی سمت سرور و کلاینت

سلام دوست عزیز شما میتونین با استفاده از فانکشن explode() ایمیل کاربر رو با @به دو بخش تقسیم کنید قبل از @ میشه میشه نام کاربری کاربر و بعد از @ میشه حالا هرچی که هست gmail.com یا yahoo.com فرقی نداره . و اینارو میریزی تو یه متغییر بعد میتونی به صورت ارایه بهشون دسترسی داشته باشی مثلا

$username = explode('@',$email);

بعد توی این $username یه ارایه ذخیره میشه که دو بخش داده 0 و 1 که بخش 0 میشه همون یورزنیم و بخش1 میشه ادرس ایمیلش که بعد از @ هست هرجا که خواستی میتونی به این طریق صدا بزنی

$username[0]

و تمام

محمد
محمد
@mohammadafrozei1395

سلام اینجوری درسته یا نه

add_filter( 'sanitize_user', 'remove_whitespace_from_username', 10, 3 );
function remove_whitespace_from_username( $username, $raw_username, $strict  ){
    $username = preg_replace('@gmail.com', ' ', $username);
    return $username;
}
محمد
محمد
@mohammadafrozei1395

اینجوری یا نه

محمد
محمد
@mohammadafrozei1395

سلام میشه کمکم کنی @mohamahdimp @juza66 @Rezanp7 @rezajahangir @mikaiil

اینجوری یعنی

add_filter( 'sanitize_user', 'remove_whitespace_from_username', 10, 3 );
function remove_whitespace_from_username( $username, $raw_username, $strict  ){
    $username = preg_replace('@gmail.com', ' ', $username);
    return $username;
}

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام