اذهب إلى المحتوى

السؤال

نشر

لدي مجموعة من الروابط مخزنة بشكل سطور متتالية
كهذا:

http://academy.hsoub.com/questions/design-4/
http://academy.hsoub.com/questions/code-3/
http://academy.hsoub.com/questions/entrepreneurship-5/
http://academy.hsoub.com/questions/design-4/

http://academy.hsoub.com/questions/code-3/

/delete/path
/delete/path
http://academy.hsoub.com/questions/devops-6/
/delete/path

http://academy.hsoub.com/questions/code-3/
http://academy.hsoub.com/questions/design-4/
http://academy.hsoub.com/questions/code-3/

اُريد حذف السطور المكرره والسطور التي لاتصلُح أن تكون روابط صحيحه مثل /delete/path 
واُريد التنثيق يخرج بشكل أسطر متتاليه ايضاً هكذا:
 

http://academy.hsoub.com/questions/design-4/
http://academy.hsoub.com/questions/code-3/
http://academy.hsoub.com/questions/entrepreneurship-5/
http://academy.hsoub.com/questions/devops-6/

 

Recommended Posts

  • 1
نشر
  • من خلال التعابير القياسية Regular-Expressions تمكنك من التعامل مع تحليل النصوص بطريقة أفضل.
  • ستستخدم دالة preg_match_all للحصول على جميع القيم المطابقة للتعبير القايسي المُمرر للدالة،
    للدالة ثلاث وسائط
    الأول التعبير القياسي
    والثاني النص المراد تطبيق التعبير عليه
    والثالث متغير سيتم حفظ النتائج به على شكل مصفوفة
    العنصر الأول في المصفوفة هي مصفوفة تحتوي على القيم التي تم تطابق التعبير القياسي عليها في النص كالتالي:
     
    <?php
    $string = '
    http://academy.hsoub.com/questions/design-4/
    http://academy.hsoub.com/questions/code-3/
    http://academy.hsoub.com/questions/entrepreneurship-5/
    http://academy.hsoub.com/questions/design-4/
    
    http://academy.hsoub.com/questions/code-3/
    
    /delete/path
    /delete/path
    http://academy.hsoub.com/questions/devops-6/
    /delete/path
    
    http://academy.hsoub.com/questions/code-3/
    http://academy.hsoub.com/questions/design-4/
    http://academy.hsoub.com/questions/code-3/
    ';
    
    // الحصول على جميع الروابط الموجودة في النص
    preg_match_all('/https?:\/\/[^\s<>()]+/', $string, $match);
    
    // إزالة القيم المتكررة للروابط
    $outputs = array_unique($match[0]);
    
    // طباعة الناتج
    foreach($outputs as $value){
        echo "{$value}";
    }
    ?>
    
  • الدالة array_unique لإزالة القيم المكررة في المصفوفة.

    مصادر تهمك:

  • http://www.regular-expressions.info

  • http://php.net/manual/en/function.preg-match-all.php

  • http://php.net/manual/en/function.array-unique.php

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...