واضح آرشیو وب فارسی:سایت ریسک: پ ژ و اعداد فارسی در یک سایت فارسی abbasjoon 01 مهر 1386, 11:02سلام بچه ها. من بر روی کامپیوتر خودم بک اسلاش حرف پ و شیفت + ز حرف ژ را نمایش می ده. ولی جای دیگه دیدم که ~ حرف پ و بک اسلاش حرف ژ . این نا هماهنگی ها بر روی محتوای سایت وقتی در بروزر های مختلف به نمایش در بیاد تاثیر گذاره ؟ اگه هست چه جوری میشه رفعش کرد. از طرفی بر روی اعداد فارسی هم این مشکل هست بر روی کامپیوتر دیگه اعداد فارسی به صورت لاتین نمایش داده می شن. لطفا راهنماییم کنید milads 01 مهر 1386, 11:43. این نا هماهنگی ها بر روی محتوای سایت وقتی در بروزر های مختلف به نمایش در بیاد تاثیر گذاره ؟ نه جناب تاثیری نداره . از طرفی بر روی اعداد فارسی هم این مشکل هست بر روی کامپیوتر دیگه اعداد فارسی به صورت لاتین نمایش داده می ش مشکل عدد فارسی هم مشکلیه که همه دارن . abbasjoon 01 مهر 1386, 12:17ولی این سایت مشکل عدد فارسی نداره . همه درست فارسی به نمایش در اومدند. چه جوری این مشکل رفع کرده؟ milads 01 مهر 1386, 12:27خوب شما یه demo ازش می ذاری ببینم ؟ tabib_m 01 مهر 1386, 22:13نخیر این سایت هم دقیقا مثل سایت های دیگه س مسئله اینجاس که مرورگری مثل IE با توجه به direction=rtl کاراکترهای اعداد رو به صورت فارسی نشون میده. اما در مرورگری مثل Firefox این عمل انجام نمیشه. برای این که بتونی صرفا اعداد فارسی رو نمایش بدی، (یعنی دقیقا کاراکتر مربوطه رو اشاره کنی) میتونی از این عبارات استفاده کنی (ولی بدون فاصله های بینشون) : & #1776; & #1777; & #1778; & #1779; & #1780; & #1781; & #1782; & #1783; & #1784; & #1785; اگر توی php کار میکنی، میتونی از این تابعی که نوشتم هم استفاده کنی. تابع بدی نیست، گاهی به درد میخوره: function intEn2Fa($int){ $search=array("0","1","2","3","4","5","6","7","8","9"); $replace=array("& #1776;","& #1777;","& #1778;","& #1779;","& #1780;","& #1781;","& #1782;","& #1783;","& #1784;","& #1785;"); for($a=0;$a<strlen($int);$a++){ $theChr=$int[$a]; if(in_array($theChr,$search) and $int[$a-2].$int[$a-1]!="&#" and $int[$a-3].$int[$a-2]!="&#" and $int[$a-4].$int[$a-3]!="&#" and $int[$a-5].$int[$a-4]!="&#"){ $int2.=$replace[$theChr]; }else{ $int2.=$theChr; } } return $int2; } باز هم لازم به ذکر است که توی عبارات مذکور، باید فاصله اضافی بین کاراکتر & و # رو بردارید... خوشحال میشم هر کسی میتونی بهینه ش کنه و اینجا قرار بده یک مقداری قدیمیه، ولی کار میکنه :) موفق باشید. abbasjoon 02 مهر 1386, 08:45ممنونم اقا محسن iroweb 02 مهر 1386, 10:14کار طبیب بهترین راهه ولی یک کمی اومده تابع Php رو پیچیده کرده . من اینو پیشنهاد میدم : function NumFarsi($int) {//By Sasan Nobakht $search=array("0","1","2","3","4","5","6","7","8","9"); $replace=array("& #1776;","& #1777;","& #1778;","& #1779;","& #1780;","& #1781;","& #1782;","& #1783;","& #1784;","& #1785;"); $int = str_replace($search, $replace, $int); return $int; } jhoseini 02 مهر 1386, 10:28کار طبیب بهترین راهه ولی یک کمی اومده تابع Php رو پیچیده کرده . من اینو پیشنهاد میدم : function NumFarsi($int) {//By Sasan Nobakht $search=array("0","1","2","3","4","5","6","7","8","9"); $replace=array("& #1776;","& #1777;","& #1778;","& #1779;","& #1780;","& #1781;","& #1782;","& #1783;","& #1784;","& #1785;"); $int = str_replace($search, $replace, $int); return $int; } خوب باید چک بشه که خدای نکرده عددی که میخایم تعمیر کنیم، از یه کارکتر تعمیری مثل & #1779; نباشه بابا همون ()کار میکنه دیگه، نیاز به تابع دیگه ای نبود ---------------------------------------------------------------------- یکی بیاد این پاسخ سریع رو یه سیخ بده بزرگ کنه !! iroweb 02 مهر 1386, 10:31خوب باید چک بشه که خدای نکرده عددی که میخایم تعمیر کنیم، از یه کارکتر تعمیری مثل & #1779; نباشه البته رو این تابع شما هم اگه یه خط بالاش اضافه شه حله: function NumFarsi($int) {//By Sasan Nobakht if(!is_numeric($int))return $int; // by jhoseini :p $search=array("0","1","2","3","4","5","6","7","8","9"); $replace=array("& #1776;","& #1777;","& #1778;","& #1779;","& #1780;","& #1781;","& #1782;","& #1783;","& #1784;","& #1785;"); $int = str_replace($search, $replace, $int); return $int; } بابا همون ()کار میکنه دیگه، نیاز به تابع دیگه ای نبود ---------------------------------------------------------------------- یکی بیاد این پاسخ سریع رو یه سیخ بده بزرگ کنه !! به نظرم این خط مشکوکه : if(!is_numeric($int))return $int; // by jhoseini :p نیازی نیست که متن ما همش عدد باشه . اونی که من نوشتم خودش تمام متن رو میگرده هرچی عدد باشه عوض میکنه . ولی اینجوری شما خیلی تابع رو محدود کردید . tabib_m 02 مهر 1386, 12:33ممنونم اقا محسن خواهش میکنم. استفاده از کلید تشکر، کافیه. زدن پست اضافه صرفا برای تشکر، خلاف قوانین سایت هست... -------------------- خوب باید چک بشه که خدای نکرده عددی که میخایم تعمیر کنیم، از یه کارکتر تعمیری مثل & #1779; نباشه خوب پس بسم الله ... :) -------------------- نیازی نیست که متن ما همش عدد باشه . اونی که من نوشتم خودش تمام متن رو میگرده هرچی عدد باشه عوض میکنه . ولی اینجوری شما خیلی تابع رو محدود کردید . ربطی نداره تابعی که من نوشتم، با رشته ها کار میکنه و هر چی عدد داخلش هست رو تبدیل میکنه. قبلا کد شما رو هم نوشته بودم، اما مشکل داره... اگر خودت یک بار تستش کنی متوجه میشی... امیدوارم بعد از تست، متوجه علت مشکلش هم بشی :) موفق باشید. jhoseini 02 مهر 1386, 13:16خواهش میکنم. استفاده از کلید تشکر، کافیه. زدن پست اضافه صرفا برای تشکر، خلاف قوانین سایت هست... حلا شما 100 بار بگو، کی گوش میده (فقط شوخی، میدونم بابا پست اضافی اه :d) iroweb 03 مهر 1386, 13:43نقل قول: نیازی نیست که متن ما همش عدد باشه . اونی که من نوشتم خودش تمام متن رو میگرده هرچی عدد باشه عوض میکنه . ولی اینجوری شما خیلی تابع رو محدود کردید . ربطی نداره تابعی که من نوشتم، با رشته ها کار میکنه و هر چی عدد داخلش هست رو تبدیل میکنه. قبلا کد شما رو هم نوشته بودم، اما مشکل داره... اگر خودت یک بار تستش کنی متوجه میشی... امیدوارم بعد از تست، متوجه علت مشکلش هم بشی طبیب جون این مال شما نبود که . مال حسینی بود .
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 6448]