• 0

كيف أقوم بحذف اﻷسطر المكرره او الفارغة من نص باستخدام PHP؟

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

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/

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن