• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
هماهنگ سازی URL با زبان فارسی
#1
با سلام
من روی توسعه یک ماژول کار میکنم . این ماژول امکانی برای ایجاد URl برای مطالب ارسالی داره و در نگام ساخت URL از این تابع هم استفاده میکنه
کد:
function fmcontent_Filter($url, $type = '') {

    $url = preg_replace("`\[.*\]`U", "", $url);

    $url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $url);

    $url = htmlentities($url, ENT_COMPAT);

    $url = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i", "\\1", $url);

    $url = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $url);

    $url = ($url == "") ? $type : strtolower(trim($url, '-'));

    return $url;

}

ورودی این تابع ( یعنی $url ) یک متن ساده است مثلا عنوان مطلب متنی به این صورت مثلا به عنوان ورودی وارد میشه : This is test title و خروجی همچین چیزیه : this-is-test-title

حالا اگه من بخوام عنوان فارسی وارد کنم مثلا این : عنوان برای تست خروجی این میشه : o-sup1-u-u-o-sect-u-o-uml-o-plusmn-o-sect-u-o-ordf-o-sup3-o-ordf

توی سایت php.net هم سرچ کردم مثلا ENT_COMPAT با utf-8 خروجی مناسب تولید نمیکنه

دوستان پینشهادی برای اصلاح خورجی تولیدی در زبان فارسی دارن؟
  پاسخ
تشکر شده توسط :
#2
این متد هیچ وقت همچین کاری رو انجام نمیده که متن فارسی رو اینجوری به فینگلیش تبدیل کنه
  پاسخ
تشکر شده توسط :
#3
وقتی کد رو به این شکل تغییر میدم کار میکنه
کد پی‌اچ‌پی:
function fmcontent_Filter($url$type '') {

    
$url preg_replace("`\[.*\]`U"""$url);

    
$url preg_replace('`&(amp;)?#?[a-z0-9]+;`i''-'$url);

    
$url htmlentities($urlENT_COMPAT ,"utf-8");

    
$url preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i""\\1"$url);

    
//$url = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $url);

    
$url = ($url == "") ? $type strtolower(trim($url'-'));

    return 
$url;



فقط برای اینکه خروجی فارسی بگیرم مجبور شدم این خط رو غیر فعال کنم :
کد پی‌اچ‌پی:
$url preg_replace(array("`[^a-z0-9]`i""`[-]+`"), "-"$url); 

نمیدونم به جای "`[^a-z0-9]`i" چی باید بگذارم که حروف فارسی رو هم ساپورت کنه .
  پاسخ
تشکر شده توسط :
#4
http://forum.iranphp.org/Thread-%D8%AA%D...8%B3%DB%8C
  پاسخ
تشکر شده توسط :
#5
كار جالبي است خيلي مشتاقم نتيجه را ببينم.
البته بنده خيلي سر رشته ندارم ولي اگر به كمكي نياز بود بفرماييد در حد توان در خدمتم.
با تشكر.Wink
سالهــــا مـــــى گــــــذرد، حادثه ها مى آید
انتظـــــار فـــــــرج از نیمـــــه خــــــرداد کشم

[عکس: ShowPicture.aspx?ID=52750d12-5d92-4286-9...height=100]
  پاسخ
تشکر شده توسط :
#6
برای حروف فارسی از پترن زیر استفاده کنید
کد پی‌اچ‌پی:
preg_match('/\p{Arabic}/u',strin
  پاسخ
تشکر شده توسط : LordEfazati shgninc cyletech


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان