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

الموضوع: |PHP| دالتين str_replace و str_ireplace

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    103

    |PHP| دالتين str_replace و str_ireplace



    السلام عليكم ورحمة الله و بركاته
    سوف اقوم فى هذا الموضوع بشرح الدوال str_replace , str_ireplace
    اولاً
    str_replace
    تعمل فى php 4 , php 5
    عمل الدالة
    str_replace ( mixed search, mixed replace, mixed subject );
    مع إستبدال mixed_search بالمصفوفة المراد إستبدال عناصرها او الكلمة المراد إستبدالها
    وإستبدال mixed_replace بالمصفوفة المراد إستخدام عناصرها بالإستبدال او الكلمة المراد إستخدامها بالإستبدال.
    تطبيق على الدالة
    افتح محرر الphp تبعك (notebad إن لم يكن لديك محرر متقدم)
    ضع هذا الكود
    كود PHP:
    <?php
    $search 
    = array("sw1","sw2");
    $replace= array("searched1","searched2");
    $text   "sw1 sw2";
    $ntext  str_replace($search,$replace,$text);
    echo 
    $ntext;
    ?>
    شرح الكود
    كود PHP:
    $search = array("sw1","sw2"); 
    المتغير search والذى سيتم إستبدال عناصره الداخلية
    كود PHP:
    $replace= array("searched1","searched2"); 
    المتغير replace والذى يضم مصفوفة بها عناصر الإستبدال
    كود PHP:
    $text   "sw1 sw2"
    المتغير text و الذى يحوى النصوص المراد إستبدالها
    كود PHP:
    $ntext  str_replace($search,$replace,$text); 
    المتغير ntext و هو المحتوى على النص بعد إستبداله بإستخدام الدالة str_replace
    --------
    النتيجة :
    فى الكود السابق سيقوم بطباعة
    searched1 searched2
    وهذا يدل على انه استبدل العنصر الاول فى المصفوفة search بالعنصر الاول فى المصفوفة replace
    وانه استبدل العنصر الثانى فى المصفوفة search بالعنصر الثانى فى المصفوفة replace
    ------------------------------------------------------------------------------------------------
    الدالة stri_replace
    تعمل فى php5 فقط
    لذلك اثارت مشاكل فى المواقع الاجنبية
    لكن ولله الحمد وجدت الحل لكى تعمل فى php4 بشكل طبيعى(خصوصاً ان معظم سيرفرات العرب تعمل بـphp4)
    الدالة البديلة
    ضع هذه الاسطر فى ملف php و احفظه و استخدمه
    كود PHP:
    <?php
    if(!function_exists('str_ireplace')) {
        
    // Andrea Giammarchi [www.devpro.it] 2005/12/23
        
    function str_ireplace($find$replace$str) {
            
    $tmpf = array(
                
    '\\','/','[',']','(',
                
    ')','*','+','-','?',
                
    '^','$','.','|','{','}'
            
    );
            
    $tmpr = array(
                
    '\\\\','\/','\[','\]','\(',
                
    '\)','\*','\+','\-','\?',
                
    '\^','\$','\.','\|','\{','\}'
            
    );
            if(!
    is_array($find))
                
    $find = array($find);
            for(
    $a 0$b count($find); $a $b$a++)
                
    $find[$a] = '/(?i)'.str_replace($tmpf$tmpr$find[$a]).'/';
            return 
    preg_replace($find$replace$str);
        }
        }
    ?>
    ثم استخدم الدالة str_ireplace بشككل عادى
    وظيفة الدالة :
    تعمل مثل str_replace بالظبط لكنها تعمل بحساسية(Case-insensitive)
    تطبيق على الدالة
    افتح ملف جديد
    وضع الكود
    كود PHP:
    <?php
    $search 
    = array("wOrD","ReP");
    $replace= array("Word","Rep");
    $text "WoRD rEp";
    $ntext str_ireplace($search,$replace,$text);
    echo 
    $ntext;
    ?>
    تقريباً نفس الكود السابق
    النتيجة
    سيطبع كلمة Word Rep
    --------------------------
    الإختلاف عن str_replace
    لكن إن وضعت نفس الكود السابق و إستخدمت str_replace فلن يقوم بإستبدالها لان بعض الحروف كابيتال و بعضها سمال ولذلك صممت str_ireplace للتعامل مع الحروف الكبيرة و الصغيرة
    -------------------------------------------------------------------------
    اتمنى ان تكونوا استفدتوا
    واى استفسارات انا جاهز








  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    جزاك الله خيراً أستاذ خالد ...

    خلاصة الموضوع ... str_ireplace غير حساسة لحالة الحروف insensitive ... بعكس str_replace ..

    وشكراً لك

    تحياتي، أشرف السمهوري










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

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

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