النتائج 1 إلى 4 من 4

الموضوع: مساعدة في تحديد عدد الـcharacters بإستخدام أداة strlen

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    411

    مساعدة في تحديد عدد الـcharacters بإستخدام أداة strlen



    السلام عليكم يا إخوان،
    أنا أحاول إستخراج نتائج مخزونة في $summary وتحديدها إلى 40 character في ووردبرس، ولأني أستخدم اللغة العربية اضطررت لإضافة utf8_decode لكي يقوم بعدها بشكل صحيح. ولكن أنا دائماً أحصل على هذه النتيجة = Array

    أنا لا أفهم في PHP وأرجو منكم المساعدة يا إخوان. هذا هو الكود:
    كود:
    <?php $recent = new WP_Query("cat=3&showposts=10"); while($recent->have_posts()) : $recent->the_post();?>
    <?php $image = get_post_custom_values("imageThumb"); ?>
    <?php $imageURL = get_post_custom_values("imageBig"); ?>
    <?php $summary = get_post_custom_values("articleSummary"); ?>
    <div id="articleSnippet">
        <div id="articleImage"><a href="<?php the_permalink() ?>"><img src="<?php echo $imageURL[0]; ?>" width="156" height="78" /></a></div>
        <div id="articleSummary"><a href="<?php the_permalink() ?>"><strong><?php the_title() ?></strong>
        <br /><?php if (strlen(utf8_decode($summary)) > 40) { echo substr(get_post_custom($before = '', $after = '', FALSE), 0, 40) . '...'; } else { echo $summary[0]; } ?></a></div>
    </div>
    <?php endwhile; ?>
    جزاكم الله خير مقدماً





    __________________
    أخوكم/ ديزاين 360
    أشهد أن لا إله إلا الله وحده لا شريك له، وأشهد أن محمد عبده ورسوله


  2. #2


    استخدم افضل
    كود PHP:
    if(mb_strlen($summary'utf-8') > 40)
                    {
                        echo 
    mb_substr(get_post_custom($before ''$after ''FALSE), 040'utf-8') . '...';
                    } 
    مع العلم

    1- يجب ان تكون مكتبة mbstring مركبة علي السيرفر
    2- لا اخر ما ترجعه الدالة get_post_custom فقد تكون ترجع array وليس نص





    __________________
    السيف أصدق أنباء من الكتب

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    411


    أخي العزيز محب الله ورسوله جزاك الله خير على المحاولة الطيبة
    لقد قمت بتركيب الكود الذي طرحته ولكن جاب لي هذا الخطأ:
    كود:
    Warning: mb_strlen() expects parameter 1 to be string, array given in E:\xampp6\htdocs\wp-content\themes\arabic-tourism\articlelist.php on line 18
    هذا عجيب مع أن الـcustom field اللي أنا عاملة في wordpress يحتوي على نصوص، لا غير، ويعطيني هذه النتيجة. هل من حل؟

    آسف يا أخي اتعبتك معي





    __________________
    أخوكم/ ديزاين 360
    أشهد أن لا إله إلا الله وحده لا شريك له، وأشهد أن محمد عبده ورسوله

  4. #4


    ليس لدي خبرة في الوردبريس
    لكن يبدوا ان get_post_custom($before = '', $after = '', FALSE) ترجع مصفوفة
    جرب

    كود PHP:
    print_r(get_post_custom($before ''$after ''FALSE)); 
    لتري هل طبعت لك مصفوفة ام لا





    __________________
    السيف أصدق أنباء من الكتب





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
اعلانات سوالف
0
أضف موقعك هنا | happymod هابي مود | instagram++