سلام وادب
برای اینکه جستجو در داده ها یعنی :
WHERE post_title LIKE '%آب پاش%'
بدون حساسیت روی کاراکتر فاصله انجام بشه یعنی آب پاش با آبپاش تفاوتی برای سرچ نداشته باشه باید چی کار کرد؟
سوال دوم اینه که برای اینکه حرف هایی مثل ‘آ’ و ‘ا’ و یا ‘ی’ و ‘ي’ (عربی) در سرچ با هم تفاوتی نداشته باشند چه کار باید بکنیم؟
الگوریتمی برای این کار وجود داره؟ این کار باید در هنگام ارسال کوئری باشه (منظورم در php) و یا اینکه در کوئری باید نکاتی رو رعایت کنیم؟
سلام
برای مورد الی که گفتید می تونید تمامی space ها رو با علامت % در کیورد سرچ شده replace کنید. مثال:
$keyword = 'آب پاش';
$keyword_search_str = str_replace(' ','%',$keyword);
// بعد توی کوئری استفاده کنید
// "WHERE post_title LIKE '%$keyword_search_str%' "
در مورد بخش دوم سوالتون هم می تونید در هنگام ذخیره متن ها در پایگاه داده اونهارو استاندارد سازینکید. مثلا همه ‘ي’ (عربی) ها رو یه ی فارسی تبدیل کنید و در دیتابیس ذخیره کنید. در زمان سرچ و برای کیورد هم همین کار رو انجام بدید
یا اینکه تمام حالات ممکن کیورد رو بسازید و همه رو توی کوئری بذارید که خیلی کار درستی نیست