واضح آرشیو وب فارسی:سایت ریسک: • محدودیت طول یک رشته در زبان فارسی ؟ nanash 18 آبان 1387, 14:46سلام به اساتید گرام ... میخواستم ببینم کسی میدونه چطوری باید طول یک string که به زبان فارسی هست و encoding هست رو محدود کرد ؟ مثلا این رشته : محدودیت طول یک رشته در زبان فارسی من میخوام فقط 20 حرف اول این رشته رو نشون بده یعنی : محدودیت طول یک رشته... اما نمیتونم ... این کار برای یکسان سازی و محدود کردن رشته های بزرگ خیلی مفیده ... در زبان انگیسی چون encoding نیست مشکلی نداره و خیلی راحت میشه با دو دستور StrLen و SubStr این کار رو انجام داد. اما در زبان فارسی و در حالت encoding هر حرف به اندازه یک کاراکتر محسوب نمیشود ، ممکن است یک حرف 2 کاراکتر کامپیوتری حساب شود و حرف دیگر بیشتر یا کمتر ! شما اگر طول یک رشته فارسی که تنها از سه حرف تشکیل شده را با تابع StrLen بگیرید قطعا عدد 3 نیست و برای هر کلمه 3 حرفی فرق دارد. به هر حال برای ماها که آماتور هستیم اینها مشکلات بزرگی هستند. ببینیم اساتید و صاحب نظرانی که سالها تجربه در php دارند چطور این مشکل را حل میکنند ؟ ziXet 18 آبان 1387, 15:59سلام به اساتید گرام ... میخواستم ببینم کسی میدونه چطوری باید طول یک string که به زبان فارسی هست و encoding هست رو محدود کرد ؟ مثلا این رشته : محدودیت طول یک رشته در زبان فارسی من میخوام فقط 20 حرف اول این رشته رو نشون بده یعنی : محدودیت طول یک رشته... اما نمیتونم ... این کار برای یکسان سازی و محدود کردن رشته های بزرگ خیلی مفیده ... در زبان انگیسی چون encoding نیست مشکلی نداره و خیلی راحت میشه با دو دستور StrLen و SubStr این کار رو انجام داد. اما در زبان فارسی و در حالت encoding هر حرف به اندازه یک کاراکتر محسوب نمیشود ، ممکن است یک حرف 2 کاراکتر کامپیوتری حساب شود و حرف دیگر بیشتر یا کمتر ! شما اگر طول یک رشته فارسی که تنها از سه حرف تشکیل شده را با تابع StrLen بگیرید قطعا عدد 3 نیست و برای هر کلمه 3 حرفی فرق دارد. به هر حال برای ماها که آماتور هستیم اینها مشکلات بزرگی هستند. ببینیم اساتید و صاحب نظرانی که سالها تجربه در php دارند چطور این مشکل را حل میکنند ؟ لازم نیست ما مشکلو حل کنیم! خود php مشکل رو حل میکنه! کلا توابعی که mb_ هستن مالتی بایت هستن! یعنی میتونن کاراکتر های مالتی بایت رو تشخیص بدن! موفق باشید
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 248]