پیدا کردن یک کاراکتر در یک رشته
سلام میخوام یک live search برای سایتم بنویسم ولی نمی تونم مستقیم با سینتکس دیتابیس این کارو انجام بدم میخوام توی نام کاربری سایت دونه دونه مقایسه انجام بدم و توی خروجی نمایش بدم مثلا اگه کسی "ش" تایپ کرد یوزر شهریار و آرش و اشکان و ... هر چی که توش داره ش پیدا میکنه رو بیاره اسم یه تابع رو میخوام که توی رشته بگرده اون حرف و برگردونه اسامی کاربر ها هم بصورت رشته هست نه آرایه ممنون
نقل قول: پیدا کردن یک کاراکتر در یک رشته
با سلام . این مربوط به ajax هست . البته من خودم هنوز امتحان نکردم .فکر کنم آقا محسن یک بار اینو جواب داده بودند :
http://www.w3schools.com/php/php_ajax_livesearch.asp
نقل قول: پیدا کردن یک کاراکتر در یک رشته
کد ایجکس نمیخوام من فقط اسم تابعی که که میتونه یک کاراکتر و توی یک رشته پیدا کنه رو میخوام
نقل قول: پیدا کردن یک کاراکتر در یک رشته
نقل قول:
نوشته شده توسط
numberone1
کد ایجکس نمیخوام من فقط اسم تابعی که که میتونه یک کاراکتر و توی یک رشته پیدا کنه رو میخوام
if(strstr("ش","آرش"))
echo 'yes';
else
echo
'false';
میتونید اسامی رو که از پایگاه میخونید ، بعنوان یک متغیر به تابع strstr بدین ، و به جای آرش بصورت یک متغیر اسم رو وارد کنید .
اگر جواب true بود ، یک شرط میزارید که یوزر اونا رو بده
نقل قول: پیدا کردن یک کاراکتر در یک رشته
نقل قول:
نوشته شده توسط
lady64
if(strstr("ش","آرش"))
echo 'yes';
else
echo
'false';
میتونید اسامی رو که از پایگاه میخونید ، بعنوان یک متغیر به تابع strstr بدین ، و به جای آرش بصورت یک متغیر اسم رو وارد کنید .
اگر جواب true بود ، یک شرط میزارید که یوزر اونا رو بده
این جواب نمیده من خیلی کارم گیره این تابع فقط داره فالس بر میگردونه همه رو هیچی درست برنمیگردونه!!!! لطفا یکی کمک کنه
نقل قول: پیدا کردن یک کاراکتر در یک رشته
دوست عزیز این روشی که شما میخواین استفاده کنین اشتباه ! باید یک query بدین و از like استفاده کنین :
select name from users where name like '%ش%';
اینجوری دیگه نیاز نیست با php کل اطلاعات را توی حلقه بندازین ! فرض کنیم شما 1 میلیون اسم دارین ! میخواین توشون loop کنین ؟!؟
اما اگه واقعا فقط یک تابع میخوای توی php که ببینه حرف ش توی یک کلمه هست یا نه میتونی از strpos استفاده کنی :
$name = "آرش";
$pos = strpos($name,"ش");
if ($pos !== false) {
echo "found !";
}
اما بازم میگم این کار اشتباهه !
[در ضمن دم امضای شما هم گرم گرم !]
نقل قول: پیدا کردن یک کاراکتر در یک رشته
نقل قول:
نوشته شده توسط
Unique
دوست عزیز این روشی که شما میخواین استفاده کنین اشتباه ! باید یک query بدین و از like استفاده کنین :
select name from users where name like '%ش%';
اینجوری دیگه نیاز نیست با php کل اطلاعات را توی حلقه بندازین ! فرض کنیم شما 1 میلیون اسم دارین ! میخواین توشون loop کنین ؟!؟
اما اگه واقعا فقط یک تابع میخوای توی php که ببینه حرف ش توی یک کلمه هست یا نه میتونی از strpos استفاده کنی :
$name = "آرش";
$pos = strpos($name,"ش");
if ($pos !== false) {
echo "found !";
}
اما بازم میگم این کار اشتباهه !
[در ضمن دم امضای شما هم گرم گرم !]
میدونم که اشتباهه ولی خوب تقصیر من نیست اطلاعات و دارم از api یه سایت دیگه میخونم دسترسی به سینتکس دیتابیس ندارم
نقل قول: پیدا کردن یک کاراکتر در یک رشته
امتحان کردم جواب میده و false برنمیگردونه .
<?php
$x="آرش";
if(strstr($x,"آ"))
echo 'yes';
else
echo
'false';
?>
هرچند به قول آقای uniq روش جالبی نیست.
این لینک رو هم ببینید . قسمت توابع رشته ای شاید براتون قابل استفاده باشه
https://barnamenevis.org/showthread.p...توابع-php