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

الموضوع: اريد دالة لاستخراج رقم من النص

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Aug 2008
    المشاركات
    192

    Smile اريد دالة لاستخراج رقم من النص



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

    لديا استفسار : لديا نص يحتوى على رقم تليفون واحد او رقمين او ثلاثة ارقام تليفونات,, اريد استخراجهم ووضعهم فى مصفوفه,, ببتتفق هذه الارقام على بدايات 010 او 011 او 012 ,, وعدد اى رقم 11 رقم,, انا عايز استخرج ارقام التليفونات واحطها فى مصفوفه .

    انا بحثت ولقيت داله بتعمل الموضوع ده وهى دالة ,, preg_match_all ,
    بس انا عرفت ان الداله دى ليها 5 برامترات لكن انا مافهمتش كيف استخدمها فى عمل اللى انا عايزه,,

    مثال للنص اللى موجود فيه رقم التليفون ..
    كود:
    $text= " شقه للبيع بالتجمع الخامس للاستفاسر والمعاينه : 01145698425 او 01004960485 او 01271156488 ";
    وانا وجدت حاجات مشابها للى انا عايزه بس عدم فهمى للدالة معرفتش اعدل عليهم :
    كود:
    ده عايز يستخرج الروابط الموجوده فى النص ويحطها فى مصفوفه,
    
    $test="http://127.0.0.1/test.php";
    $paged= @fopen( $test, "r" ); 
    $page= fread($paged, 8192); 
    $asas=preg_match_all('/<a href="(.*)">/', $page, $yo);
    echo $yo[1];
    echo $asas;
    
    ورابط الموضوع :
    http://www.swalif.net/softs/swalif45/softs293681/

    مثال اخر اقرب لما انا اريده..
    كود:
    ده عايز يستخرج الارقام الموجوده فى النص ويحطها فى مصفوفه زى ما انا عايز بالضبط,
    
    $text=<<<EOF
    <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td>&nbsp;</td> <td onclick="add('454645487789');">&nbsp;</td> </tr> <tr> <td>&nbsp;</td> <td onclick="add('7777645487789');">&nbsp;</td> </tr> </table>
    EOF;
    
    
    preg_match_all("/(add\('|onclick\(')([0-9]{0,13})('\))/i",$text,$matches);
    
    echo '<pre>';
    print_r($matches);
    ?>
    
    ورابط الموضوع :
    http://www.swalif.net/softs/swalif45/softs309605/
    لو حد فهمنى المثال التانى اللى انا واضعه جه ازاى انا هعرف اعدل ان شاء الله..

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







  2. #2
    عضو فعال
    تاريخ التسجيل
    Apr 2010
    المشاركات
    1,095


    الدالة preg_match_all تأخذ 3 بارامترات
    الاول : pattern او النمط وهو بطريقة التعابير القياسية
    الثاني: النص الذي تريد ان تطابق عليه ال pattern, بمعنى اخر هو النص الذي تريد ان يتم مطابقته بالتعابير القياسية في البارامتر الاول
    الثالث: هي مصفوفة تحتوي علي النص المطابق, مثل في حالتك الارقام

    هذه الدالة بسيطة, انت المفروض تتعلم طريقة كتابة التعابير القياسية learn regex لتستطيع مطابقة اي نص , والتعبير القياسي هو الموجود في البارامتر الاول

    ان شاء الله تكون واضحة





    __________________
    قال صلى الله عليه وسلم : كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم)

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2010
    المشاركات
    33


    يمكنك استعمال الدلالة preg_match

    كود PHP:
    $var "النص المراد البحث فية ";
    preg_match("|\d+|"$var$num);
    var_dump($num); 







  4. #4
    عضو نشيط
    تاريخ التسجيل
    Aug 2008
    المشاركات
    192


    الحمد لله تم حل المشكلة وبارك الله فيك اخى hussein.shy انت واخى Ahmed125 ,, انا ماكنتش فاهم حاجه ةمش عارف اعمل اللى عايزه ازاى بس الحمد لله تم عمل ما اريد بالضبط..

    وهو ده اللى انا كنت عايزه انه يبحثلى عن الارقام اللى مكونه من 11 رقم..
    [code]

    preg_match_all("([0-9]{11,11})", $desc, $num);

    [/code}

    واشكرك..










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

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض