nexpay

طریقه کوتاه کردن جملات فارسی توسط چند نقطه

شروع موضوع توسط aliabdi22 ‏5 نوامبر 2005 در انجمن PHP

  1. aliabdi22

    aliabdi22 Registered User

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    170
    تشکر شده:
    4
    سلام
    من می خوام برای مرتب شدن و رعایت در بهینه سازی فضا جملات یا عبارات طولانی را کوتاه کنم و ادامه را با چند نقطه نشون بدم . با چه دستوری و چه فرمی بهتره این کار را بکنم که کارکتر آخری بهم نریزه البته برای انگلیسی مشکلی نیست ولی در حالت فارسی راه خوبی پیدا نکردم.
    مثال:

    جمله اصلی:
    موتور جستجوي گوگل اولين سري از كتاب هاي اسكن شده را به عنوان بخشي از طرح بحث انگيز انتشار اينترنتي كتاب ها بر روي اينترنت قرار داده است.

    می خوام تابع یا دستورم این خروجی را ایجاد کنه:

    موتور جستجوي گوگل اولين سري از كتاب هاي اسكن شده را...


    منون از لطفت شما...
     
  2. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    سلام
    من توی فارسی نیوز از نسخه 2.1 به بعد از این تابع برای کوتاه کردن جملات استفاده کردم:
    PHP:
    function clbTruncate($match) {
    if (
    strlen($match[2]) > $match[1]) {
     return 
    substr($match[2], 0$match[1] - 3) . '…';
    } else {
     return 
    $match[2];
    }
    }
    اینجا ;hellip& سه نقطه رو میذاره
     
  3. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    این خط رو نفهمیدم
    if (strlen($match[2]) > $match[1])
    یه توضیح می دی؟
     
  4. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    ببین
    PHP:
    $match[2]
    یک متغیر هست که متنم توش ذخیره شده
    و
    PHP:
    $match[1]
    اون تعداد کاراکتر هستش که میخوام متنم به این اندازه در بیاد
     
  5. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  6. aliabdi22

    aliabdi22 Registered User

    تاریخ عضویت:
    ‏30 مارس 2005
    نوشته ها:
    170
    تشکر شده:
    4
    ممنون دوستان ولی این کد همیشه درست جواب نمیده یعنی حرف آخر کلمه فارسی ممکنه نامتعارف نمایش داده بشه و یا به شکل مربع . البته فقط گاهی این مشکل هست انگار. من از کد زیر را نوشتم ولی همون طور که می بینید جای سه نقطه از سه صفر استفاده کردم!
    <?print substr($string,-strlen($name),34);?><? if(strlen($stering)>34)echo "000"?>
    این کد هم با سه نقطه جای سه صفر جواب جالبی نمیده!
     
  7. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    اگه پست میلاد رو بخونی متوجه میشی:
     
  8. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    خوب اگر می شه یه صفحه نوشته شه کامل بنویس بزار از این قدر کد خوب نمی گیرم
     
  9. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    خوب کد رو بزار یعنی یه صفحه کامل اطلاعات رو بخونه نقطه ای کنه نشون بده
    سخت نیست ا می خوام خوب کد رو درک کنم
    مرسی
     
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal