راکت
محمد
محمد
توسط محمد مطرح شد
12 پاسخ

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

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

mohammad0@gmail.com

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

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

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


ثبت پرسش جدید
0

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


محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

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


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza663 سال پیشمطرح شد
1

دو راه حل دارید ، یکی اگر مطمئن هستید فقط @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');

محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

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


Reza
Reza
تخصص :برنامه نویس وب
@Rezanp73 سال پیشمطرح شد
0

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


محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

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


رضا جهانگیر
رضا جهانگیر
تخصص :Full-Stack Developer
@rezajahangir3 سال پیشمطرح شد
1

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

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

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

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

موفق باشید.


محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

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


میکائیل
میکائیل
تخصص :برنامه نویسی سمت سرور و کلاینت
@FullStack3 سال پیشمطرح شد
0

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

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

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

$username[0]

و تمام


محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

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

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;
}

محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

اینجوری یا نه


محمد
محمد
@mohammadafrozei13953 سال پیشمطرح شد
0

سلام میشه کمکم کنی @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;
}

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

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