ايران ويج

نسخه‌ی کامل: مشکل در جستجوی عبارات فارسی در mysql
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
بهتره تو صفحه ایی که جستجو رو انجام میده ( نه صفحه ای که اطلاعات جستجو رو سند می کنه) یه چاپ از متن دریافتی بزاری (برای تست) . این طور کاملا مشخص میشه که اطلاعات چطور مقایسه میشه .

موفق باشی
hoomanik نوشته است:At
میتوانید از کد زیر برای تبدیل ی به ي و ک (فارسی) به ک (عربی) استفاده کنید و اطلاعات خود را توسط ویندوزی وارد کنید که (ي) وارد میکند .

کد:
[align=left]

function charchange($string) {function charchange($string) {

  for ($i=0;$i<strlen($string);$i=$i+2) {
   $chr1 = $string{$i};
   $chr2= $string{$i+1};
  
   $ord1 = ord($chr1);
   $ord2 = ord($chr2);
  

      if ($ord1==219 and $ord2==140) {
             $string{$i}= chr(217);
             $string{$i+1}=chr(138);
          }
          
          if ($ord1==218 and $ord2==169) {
             $string{$i}= chr(217);
             $string{$i+1}=chr(131);
          }

        if ($ord1==32) {
             $i--;
         }

          
          
}

return ($string);
[/align]


سلام ،

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

شاید بهترین راه استفاده از mb_ereg_replace بدین صورت باشه:
کد php:
$string mb_ereg_replace($pattern$replacement$string"utf-8"); 
که pattern میتونه کارکتری که قراره تعویض میشه و replacement کارکتر جایگزین باشه. بدین صورت کلمه مورد جستجو در هر دو حالت با ی عربی و ی فارسی درست میشه و با دو شرط همزمان به صورت OR ، اون رشته رو در بانک اطلاعاتی جستجو میکنیم.

البته شاید راه های سریعتری هم باشه.

ضمناً دوستی که این تاپیک رو ایجاد کردند در کلیات قضیه مشکل داشتند (که نمیدونم مشکلشون حل شد یا خیر) و هنوز کارشون به این جزئیات نرسیدند.

موفق باشید
نبی
صفحه‌ها: 1 2