آژانس هواپیمایی
tanki

راه حل مشکل ادامه مطلب؟؟

شروع موضوع توسط balabala ‏12 فوریه 2008 در انجمن PHP

  1. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    میدونم که راه حلش توی یکی از تاپیک ها بود ولی هرچی گشتم پیداش نکردم! میخوام متنی مثل این:
    که یونیکد هست. از یه تعداد کاراکتر به بعد نصف بشه (همون ادامه مطلب). منتها بعضی اوقات چون یونیکد اندازهش دوتا کاراکتره اینجوری میشه:
    یعنی یه مربع میاد آخر متن بریده شده. راه حلش رو دارید؟
     
  2. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    [​IMG]
     
  3. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    منم همین مشکلو دارم پیشاپیش از F1 شما ممنونم.
     
  4. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    برای نصف نشدن کاراکترهای یونیکد معمولاً از توابع _mb استفاده میشه. برای اینکه چند کلمه از اول نوشته رو جدا کنی به نظر من بهترین راه باز هم عبارات باقاعده است:
    PHP:
    preg_match('/^(\w*\s*){3}/u'$subject)
    این کد سه کلمه اول رو برمیگردونه.
     
  5. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    ممنون. ولی من تعداد حرف (کاراکتر) مد نظرمه نه کلمه. با mb_substr هم سعی کردم ولی نمیدونم چرا جواب نمیده! بازم نصفه نیمه میده بیرون. شاید مشکل از اینکدینگ متن داخل دیتابیس باشه؟ متون داخل دیتابیس بصورت utf8_persian ذخیره شدن منتها بازم mb_ ها جواب نمیدن :/
     
  6. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    بهتر نیست با کلمه جدا کنی ؟
    کاراکتر زیاد جالب نیست , مثلا بزار بعد 20 تا کلمه جدا کنه , اینجوری کاراکتر بعدی space میشه دیگه مشکلی پیش نمیاد !!

    به هرحال ,
    اگه از mb_substr استفاده میکنی , قبل استفاده از اون , اینو بزار :
    PHP:
    mb_internal_encoding("UTF-8");
     
  7. خرید بیت کوین
  8. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    آخه مشکل اینجاست که ممکنه جمع کلمات بیشتر از اون حدی بشه که میخوام و از فضا بزنه بیرون...
    /
    ادیت: ممنون درست شد :دی
     
  9. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    اونم با wordwrap حل میشه ;)
     
  10. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    این کد چند کلمه اول رو حداکثر تا 30 حرف جدا میکنه:
    PHP:
    $result preg_replace('/^(.{1,30})(\s|$)/u''\1'$subject);
     
  11. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,358
    تشکر شده:
    1,347
    محل سکونت:
    یه خورده اونورتر
    آخه من از height هم لیمیت دارم :lol: سایتم توی امضامه نگاه بنداز، همون boxهای آخر صفحه...
    ممنون. اینم تست میکنم[​IMG]
     
  12. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    خواهش میکنم. کتاب عبارات باقاعده رو تموم کردم. ایشالله چاپ که بشه خودتون این جور کدها رو راحت مینویسید.
     
  13. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    بسیار عالی میگم امضا هم میکنی بهمون هدیه بدی :p
     
  14. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    شرمنده میکنی :blush:
    چشم ایشالله چاپ که شد آدرستونو میگیرم واستون میفرستم.
     
  15. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    خواهش می کنم این حرفا چیه.پس من از هم اکنون چتر خودمو رو باز کردم.

    [​IMG]
     
avanak همکاری در فروش عسل طبیعی و گرده گل ایرانی