شوّيت: شبكة كرة قدم اجتماعية




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو نشيط جدا
#1  
دالة عرض عدد معين من الكلمات(وليس عدد الاحرف)

السلام عليكم ورحمة الله وبركاته
دالة بسيطه تحدد عدد الكلمات التي تريد طباعتها وليس عدد الاحرف
مثلا لو عندنا النص التالي:
إقتباس:
منتدى سوالف سوفت لتطوير المواقع
ونريد عرض كلمتين فقط سيعرض
إقتباس:
منتدى سوالف
نضع عدد الكلمات التي تريد طباعتها 2
وليس عدد الاحرف
لأن المشكله بدالة اضهار عدد معين من الاحرف
انها تعرض مثلا نصف الكلمة الاخيره او حرف منها
مثلا
إقتباس:
منتدى سوالف س
وهذي الكود مع الشرح:
كود PHP:
<?php
$s
="منتدى سوالف سوفت لتطوير الموافع";
//النص قبل التجزئه
$num=3;
//عدد الكلمات المطلوب عرضها
$num+=1;
//اضفنا واحد لعدد الكلمات المطلوب عرضها لانه لو كتبت 3 سيعرض كلمتين فقط
$s2=explode(" ",$s,$num);
//تم تجزئة النص بوسطة الفراغ بين الكلمات
$n=$num-1;
//نقصنا واحد من عدد الكلمات لأن معروف دالة
//explode
//تقسم النص الى مصفوفه تبدأ من 0 يعني الكلمة الاولى رقمها 0
foreach($s2 as $k=>$v){
//استخدمنا الداله لعرض محتويات المصفوفه
    
if($k!=$n){
//وضعنا شرط ان لايطبع اخر جزء من المصفوفه
echo $v."  ";    
//نطبع محتويات المصفوفه ونضع فراغ بين الكلمات
}
    }
?>



ولتسهيل اختصرتها بداله:
كود PHP:
function text_n($n,$s){
$num=$n;
$num+=1;
$s2=explode(" ",$s,$num);
$n=$num-1;
foreach(
$s2 as $k=>$v){
if(
$k!=$n){
echo 
$v."  ";    
}
}} 
وطريقة عملها كالتالي:
كود PHP:
text_n(4,"hatem1 hatem2 hatem3 hatem4 hatem5"); 
وسيعرض:
إقتباس:
hatem1 hatem2 hatem3 hatem4
كود PHP:
text_n(عددالكلمات,"النص"

اتمنى يكون لداله فائدة لكم..ﻷني نشبت بـexplodeوكل شوي تجيني فكره






رومنسي ksa is offline   قديم 25-07-2009, 02:18 AM
الرد مع إقتباس
عضو نشيط
#2  

وعليكم السلام ورحمة الله وبركاته

يعطيك العافية اخوي حاتم < بناء على الاسم في المثال

وافكار جميلة منك

تحياتي






Al7aRbi is offline   قديم 25-07-2009, 04:52 AM
الرد مع إقتباس
عضو فعال
#3  

ممكن دية بردك

كود PHP:

<?php
/** 
  * ##############################################
  * ##برمجة محمدهلال                             ##
  * ##جميع الحقوق محفوظة لي محمدهلال             ##
  * ##    mohamedhelal                            ##
  * ##all rights to mohamedhelal                 ##
  * ##email:mohamed_helal123456@hotmail.com        ##
  * ##############################################
  */



function text_limit($str,$limit=10)
{
    if(
stripos($str," "))
    {
        
$ex_str=explode(" ",$str);
        if(
count($ex_str)>$limit)
            {
            for(
$i=0;$i<$limit;$i++)
                {
                
$str_s.=$ex_str[$i]." ";
                }
                return 
$str_s;
            } 
        else
            {
                return 
$str;
            }
    }
}
$text="mohamed helal from egypt cairo";
echo 
text_limit($text,2);
?>






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 25-07-2009, 09:41 PM
الرد مع إقتباس
عضو نشيط جدا
#4  

شكرا على مروكم واظافاتكم






رومنسي ksa is offline   قديم 26-07-2009, 11:01 PM
الرد مع إقتباس
مشرف قسم PHP
#5  

ببساطه يمكن استخدام array_slice
كود PHP:
<?
function str_limit($str$count$break=' ') {
    return(
implode($breakarray_slice(explode($break ,$str), 0$count)));
}
//example
$str 'hello world';
echo 
str_limit($str1);
//hello
//
?>






__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
daif is offline   قديم 27-07-2009, 06:30 PM
الرد مع إقتباس
عضو نشيط جدا
#6  

مشكور اخوي ضيف

لكن ياشباب ترى المسأله ان دالة explode
لها وسيط ثالث وهو عدد تقسيم النص
يعني مثلا:
إقتباس:
$text="1 2 3 4";
explode(" ",$test,2);
راح تكون المصفوفه من3صفوف
محتوى الاول 1
والثاني 2
والثالث بقية النص يعني 3 4

واشكركم على مروكم واضافتكم






رومنسي ksa is offline   قديم 29-07-2009, 04:14 PM
الرد مع إقتباس
مشرف قسم PHP
#7  

لم امرر وسيط ثالث الى الداله explode راجع النص البرمجي .






__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
daif is offline   قديم 29-07-2009, 11:32 PM
الرد مع إقتباس
عضو نشيط جدا
#8  

اعرف اخوي ضيف
لكن انا بوضح انه موجود لدالةexplode بارمتر ثالث لعدد التقسيم

لكن بسألك :عن عمل البارمتر الثالث لدالة implode.؟
لأني شفتها بدالتك






رومنسي ksa is offline   قديم 30-07-2009, 01:45 AM
الرد مع إقتباس
مشرف قسم PHP
#9  

لم امرر وسيط ثالث للداله implode
الكود بالتفصيل هو:
كود PHP:
<?php
$str 
'string variable';
$break ' ';
$count 1;
$str explode($break ,$str);
$str array_slice($str,  0$count);
$str implode($break$str);
echo 
$str// string
?>






__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
daif is offline   قديم 30-07-2009, 04:05 AM
الرد مع إقتباس
عضو نشيط جدا
#10  

اسف العتب على النظر^,^
وشكر لك






رومنسي ksa is offline   قديم 31-07-2009, 02:41 AM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
مطلوب دالة للمساعدة في قطع النص واضافة مسافة بعد عدد معين من الحروف TlT PHP 12 07-06-2008 01:38 AM
اخواني مطلوب ضرروي دالة مثل الانكلود لكن تجلب عدد معين من السطور TlT PHP 15 23-05-2008 03:51 AM
كيف اطبع عدد معين من الاحرف من نص كبير...؟ xremas PHP 3 16-12-2005 08:31 PM
استفسار بخصوص دالة عرض عدد مايحتوية قسم معين حرالشمال PHP 3 02-01-2005 03:58 PM
عدد المرفقات..عدد الأقسام..عدد الإعلانات..عدد الستايلات..عدد المشرفين fnan4arab الإصلاح والصيانة 7 18-10-2003 10:22 AM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:59 AM.