لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
كيف جلب جزء من مقال وكتابه اقرا المزيد
السلام عليكم ورحمه الله وبركاته
انا استخدم داله substr
لجلب جزء من المقال ولكن تواجهني مشكله فمثلا اذا قمت باضافه اقتباس فالمقال
وانتهاء الجزء يكون بمنتصف الوسم فبيخربلي مظهر التصميم ..
echo substr("".$topcrow['content']."",0,350);


ياريت المساعده ياشباب ..
تاريخ البداية: 15 / يناير / 2012 الساعة 23:14 اخر نشاط: 15 / أغسطس / 2013 الساعة 11:16 php substr

يا ريث تضع صورة حتى نفهم المطلوب
16 / يناير / 2012 الساعة 0:47

قمت بحلها اخي عن طريق دالهsplit
16 / يناير / 2012 الساعة 0:48

اولا الكلام المختصر لابد الا يحتوى على وسوم لذلك عليك ازالة الوسوم بواسطة strip_tags()
16 / يناير / 2012 الساعة 11:3

وهذه ان اردت اختصار النص المختصر مرة اخرى بالجافا سكريبت طريقة عمل "قراءة المزيد"
16 / يناير / 2012 الساعة 11:35

4 إجابات
هذه الدالة مجربة و تقوم بقطع النص حسب الكلمة وليس الحرف ... ممتاز مع اللغة العربية

<?
function cutstr($text,$len){
//source:http://www.sigsiu.net/forum/community-board-for-tips-tricks/how-to-limit-a-text-to-a-certain-length-without-cutting-the-last-word/
if( strlen( $text ) < $len ) {
   return $text;
} else {
   $cut_text = substr( $text, 0, $len ); //cut at 200 chars
   $last_space = strrpos( $cut_text, " " ); //find the position of the last space in the 200 chars text
   $short_text = substr( $cut_text, 0, $last_space ); //cut again at the last space
   $end_text = $short_text."..."; // add three dots
   return $end_text;
}}
############################
//echo cutstr("السلام عليكم ورحمة الله وبركاته",30);
//السلام عليكم...  
?>

بواسطة: ahmedsaadhassan
منذ: 17 / يناير / 2012 الساعة 20:11

دالة اكثر من رائعة
31 / يناير / 2012 الساعة 2:55

أعزائي المحترفين اني عندي نفس المشكلة اريد اسوي أقرا المزيد بـ php فقط لأنه jquery يبطيء الموقع لذا لا أفضل استخدامها.. أخي ahmedsaadhassan هل يمكن شرح دالتك وتوضيحها .. مع جزيل الشكر
15 / أغسطس / 2013 الساعة 11:16

افضل دالة لعمل ذلك .. ولا تؤثر على معنى الكلام اى تأكل حروف .. فهمى تأكل كلمات فقط
function limit($text,$length=64,$tail="...") {
    $text = trim($text);
    $txtl = strlen($text);
    if($txtl > $length) {
        for($i=1;$text[$length-$i]!=" ";$i++) {
            if($i == $length) {
                return substr($text,0,$length) . $tail;
            }
        }
        $text = substr($text,0,$length-$i+1) . $tail;
    }
    return $text;
}

بواسطة: MacOS
منذ: 16 / يناير / 2012 الساعة 10:56

list($be, $af) = mb_split('<!-- pagebreak -->', $topcrow['content']);
echo " ".$be."";

مشكور اخي هل هذا الامر صحيح ؟

بواسطة: Wolvrine
منذ: 16 / يناير / 2012 الساعة 1:17

إقرأ أخي http://php.net/manual/en/function.split.php
جرب استعمال mb_split() أو preg_split

لأن الدالة split تم إزالتها وستواجه مشاكل معها في السيرفرات التي تستخدم نسخ بي اتش بي حديثة

بواسطة: Imad
منذ: 16 / يناير / 2012 الساعة 1:13

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة