تور لحظه آخری
امروز : پنجشنبه ، 20 دی 1403    احادیث و روایات:  پیامبر اکرم (ص):براى بهشت درى است‏بنام (ريان) كه از آن فقط روزه داران وارد مى‏شوند.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

اجاره سند در شیراز

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

خرید از چین

خرید از چین

تجهیزات کافی شاپ

خرید سرور اچ پی ماهان شبکه

کاشت ابرو طبیعی و‌ سریع

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

دوره آموزش باریستا

مهاجرت به آلمان

بورس کارتریج پرینتر در تهران

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

قیمت و خرید تخت برقی پزشکی

کلینیک زخم تهران

خرید بیت کوین

خرید شب یلدا

پرچم تشریفات با کیفیت بالا و قیمت ارزان

کاشت ابرو طبیعی

پرواز از نگاه دکتر ماکان آریا پارسا

پارتیشن شیشه ای اداری

اقامت یونان

خرید غذای گربه

رزرو هتل خارجی

تولید کننده تخت زیبایی

مشاوره تخصصی تولید محتوا

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

تور بالی نوروز 1404

سوالات لو رفته آیین نامه اصلی

کلینیک دندانپزشکی سعادت آباد

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تجهیزات و دستگاه های کلینیک زیبایی

تعمیر سرووموتور

تحصیل پزشکی در چین

مجله سلامت و پزشکی

تریلی چادری

خرید یوسی

 






آمار وبسایت

 تعداد کل بازدیدها : 1851839590




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

نشان دادن قسمت محدودی از اول رشته -


واضح آرشیو وب فارسی:سایت ریسک: نشان دادن قسمت محدودی از اول رشته Salman_MP 23 خرداد 1385, 21:15سلام اینو نوشتم چون لازمش داشتم. بعد یادم اومد که چند بار اینجا یه چیزایی خونده بودم که دوستان با نوشتنش مشکل داشتن. مثلاْ چون کاراکترهای یونیکد دوبایتی هستن اگر از وسط قطعشون کنیم یه چیزای الکی نشون میده که کاراکترهای نمایشی نیستن !؟ حالا اینو ببینین و اگر ایرادی هم داشت بگین . یه ایرادی که داره اینه که طول رشته های یونیکد رو نصفه حساب میکنه یعنی اگر بگی به طول ۲۰ و تلورانس ۴ به طول 10 و تلورانس 2 حساب میکنه ... function cut_str($str, $length, $tolerance) { $length --; $len = strlen($str); if ($length > $len) return $str; else { $i = $length - $tolerance; if($i < 0) $i = 0; while($i <= ($length + $tolerance)) { if(ctype_space($str[$i])) return substr($str, 0, $i)." ..."; else $i++; } if(ctype_alnum($str[$i])) return substr($str, 0, $i)." ..."; else return substr($str, 0, $i-1)." ..."; } } هادی ابراهیمی 24 خرداد 1385, 02:05فکر کنم فضای خالی وسط رشته هست منهم به این مشکل خورده بودم قبل از اینکه با تابع substr کار کنی فضای خالی حذف کن و تست کن NabiKAZ 24 خرداد 1385, 19:05درست همين موضوع رو قبلا اينجا ديده بودم که يه کسي يه سورس گذاشته بود براي رفع اين مشکل ... اما مدتي بعد که بهش نياز پيدا کردم هر چي گشتم چيزي پيدا نکردم ! يه تاپيک هم زدم که کسي اين تاپيک رو نديده ؟! که تاپيک خودم قفل شد ! حالا خوشحالم که مجدد اين بحث پيش اومد ، کسي نميدونه اون تاپيک کجاست ؟! Salman_MP 25 خرداد 1385, 02:13فکر کنم فضای خالی وسط رشته هست منهم به این مشکل خورده بودم قبل از اینکه با تابع substr کار کنی فضای خالی حذف کن و تست کن ممنون ولی منظورت اینه که نباید فضای خالی رو جزو رشته به حساب بیارم ؟ (خوب این مشکلی نیست) اگر کسی در مورد اون مشکلی که خودم گفتم نظری داره بگه که درستش کنم. هادی ابراهیمی 26 خرداد 1385, 00:20قبل از اینکه با تابع substr کار کنی فضای خالی حذف کن و تست کن حتماً میدونی که چیجوری حذف کنی :wink: Salman_MP 28 خرداد 1385, 03:47حتماً میدونی که چیجوری حذف کنی :wink: اوه ... حالا فهمیدم منظورت چیه ؟ یعنی میگی اول فضاهای خالی رو پاک کنم بعدش ...... ok. اگه منظورت white space ه که نه یه همچین چیزی نیست. این مشکل برای اینه که کاراکترای یونیکد دو بایتی هستن . در ضمن اینجوری فضای خالی رو پاک می کنم : function full_trim($str) { $var = preg_split("/s+/", $str); for($i=0; !empty($var[$i]); $i++) $res .= $var[$i]; return $res; } خوبه ؟ البته اینو همین جا نوشتم و کد قابل اعتمادی نیست. ولی اگه درست کار کنه هر چی white space هست میریزه دووور D: هادی ابراهیمی 01 تير 1385, 22:32من با دستور full_trim آشنایی ندارم ولی میدونم trim فقط کارکتر خالی ابتدا وانتها رشته را حذف میکنه برای حذف مابین کلمات دستوری دیگری هست یادم نیست ولی برات پیدا میکنم حلا نمیتونی برای نشوندن قسمتی از رشته، کارکتر خاصی مثل * یا - بهش اضافه کنی تو در موقع نمایش با دستور substr فقط تا اون کارکتر نمایش بدی تا اینکه بیای طول رشته حساب کنی و بعد بقیه .... هادی ابراهیمی 01 تير 1385, 22:44من با دستور full_trim آشنایی ندارم ولی میدونم trim فقط کارکتر خالی ابتدا وانتها رشته را حذف میکنه برای حذف مابین کلمات دستوری دیگری هست یادم نیست ولی برات پیدا میکنم حلا نمیتونی برای نشوندن قسمتی از رشته، کارکتر خاصی مثل * یا - بهش اضافه کنی تو در موقع نمایش با دستور substr فقط تا اون کارکتر نمایش بدی تا اینکه بیای طول رشته حساب کنی و بعد بقیه .... Salman_MP 03 تير 1385, 22:021- اون تابع full_trim رو خودم نوشتم و یه تابع کتابخونه ای (!) نیست. 2- در مورد پیشنهادت باید بگم که راه خوبی نیست چون دو راه ممکنه که پیشنهاد بشه : اولی اینکه از هر فیلد متنی که میخام یه قسمتیش رونوشون بدم دو تا نگه دارم . یکی با * و یکی دیگه بدون * دومی اینکه یکی نگه دارم و هر موقع میخام نشون بدم اون کاراکتر کدایی(*) رو پاک کنم (در این حالت باید مطمئن باشم که جای دیگه ای این کاراکتر ظاهر نشده) بعدشم اگه یه وقت تصمیم گرفتم به جای 10 حرف مثلاً 15 حرف نشون بدم باید برم تمام رشته ها رو به روز کنم و لی در این حالت هیچکدوم از مشکلای فوق الذکر وجود نداره. هادی ابراهیمی 09 تير 1385, 10:44ولی substr کارکتر بعد از * ذخیره میکنه در ضمن بدون * همچنین میتونی توی یک آرایه ذخیره کنی که دسترسی و سرچ توشراحت باشه به حر حال این یک نظر koobagher 10 تير 1385, 15:20من هم اين مشكل را دارم چگونه مي توانم رشته هاي فارسي را در PHP با استفاده از توابع لازم جدا يا كوتاه كنم. با توجه به اينكه مي خواهم رشته هاي فارسي را كه در فورمها submit مي شوند در بانكهاي MySQL ذخيره كنم و نياز داشتم طول رشته هاي فارسي را براي فيلد مربوطه كوتاه كنم ولي متوجه شدم اين رشته ها دو بايتي بوده و به علاوه تابع substr هم در مورد آنها درست كار نمي كند. خواستم از تابع mb_substr استفاده كنم ولي web server اين توابع را ساپورت نمي كند و لازم است ابتدا ماژول مربوطه در سرور توسط ميزبان نصب شود. لطفا بگوييد چگونه كاري كنم كه رشته هاي فارسي در فورمها يك بايتي شوند و دوم اينكه چگونه رشته هاي فارسي دو بايتي را پردازش كنم




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 340]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن