hoomanik نوشته است:
میتوانید از کد زیر برای تبدیل ی به ي و ک (فارسی) به ک (عربی) استفاده کنید و اطلاعات خود را توسط ویندوزی وارد کنید که (ي) وارد میکند .
کد:
[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 ، اون رشته رو در بانک اطلاعاتی جستجو میکنیم.
البته شاید راه های سریعتری هم باشه.
ضمناً دوستی که این تاپیک رو ایجاد کردند در کلیات قضیه مشکل داشتند (که نمیدونم مشکلشون حل شد یا خیر) و هنوز کارشون به این جزئیات نرسیدند.
موفق باشید
نبی