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

الموضوع: إستفسار حول دالة ereg_replace

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169

    إستفسار حول دالة ereg_replace



    السلام عليكم و رحمة الله
    أواجه بعض المشاكل في التعامل مع دالة الإستبدال ereg_replace

    المشكلة الأولى

    أريد إنشاء قالب يتم حدف ما يوجد فيه بين [usr] و [/usr] بالنسبة للزوار فتوقفت هنا

    كود PHP:
    <? 
    $Text 
    "واحد [usr] إتنان[/usr]تلاتة[usr]أربعة[/usr]خمسة";  
    $Text ereg_replace("\[usr\].*\[\/usr\]"""$Text); 
    echo 
    $Text
    ?>
    المشكلة التانية
    أريد تمرير ما يوجد بين [php1] و [/php1] إلى دالة highlight_string ليتم تلوين كود php كما في المنتديات

    و جزاكم الله خيرا







  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444


    وعليكم السلام ,


    كود PHP:
       <?
    $Text 
    "five [usr] four[/usr]three[usr]two[/usr]one";
    $Text preg_replace("/\[usr\](.*?)\[\/usr\]/is"""$Text);
    echo 
    $Text;
    ?>

    كود PHP:


    $text
    =preg_replace('/\[php\](.*?)\[\/php\]/is'highlight_string(stripslashes('$1'),true),$text







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

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    ممكن أعرف اين الخطا هنا؟

    كود PHP:
    $info['name'] = "azizsoft";
    $txt ' __-name-__ ';
    echo 
    preg_replace('/__-(.*?)-__/is'$info['$1'],$txt); 







  5. #5
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169

  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444


    حسب خبرتي المتواضعة بالــ php لا تستطيع كتابة هذا في الدالة
    كود PHP:
    echo preg_replace('/__-(.*?)-__/is'$info['$1'],$txt); 
    اعني
    كود PHP:
     $info['$1'
    اي انك لا تستطيع " حسب خبرتي " ان تتعامل مع المتغير $1 بهذا الشكل

    لكن قمت بعمل التالي :

    كود PHP:
    $info['name'] = "azizsoft";

    function 
    myname ($matches){
    global 
    $info ;
    $string=$matches[1];
    return 
    $info[$string];

        
    }

    $txt "__-name-__";
    $search="/\__-(.*?)\-__/is";
    $txt=preg_replace_callback($search,'myname',$txt); 
    echo 
    $txt
    preg_replace_callback تستخدم للتعامل مع المتغيرات الناتجة عن preg_replace مثل ما تريد بمثالك

    myname اسم الدالة التي تريد ارفاق المتغيرات اليها


    اتمنى اكون افدتك






  7. #7
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    100%
    جزاك الله خيرا على جهودك






  8. #8
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    هل يمكن تطوير الدالة myname لتدعم إستخراج المعلومات من أكتر من مصفوفة؟

    متلا
    __-إسم القالب-__
    -_-معلومات العضوية-_-

    نفس الي وضعته سابقا ولكن مع إمكانية وضع مصفوفة في البارمترين الأول و التاني للدالة preg_replace_callback

    و أعتدر على كثرة الأسئلة






  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444


    ما فهمت ايش المطلوب بصراحة

    يعني انت تبي الدالة تشيك على اكثر من شكل _-_name_-_ و ^%age%^ و *+location+*

    ام كل المتغيرات لها نفس الشكل لكن يشيك اذا المتغير name بدله بقيمة name واذا age بدله بقيمة age بعد كذا يرجعلك التكست ؟






  10. #10
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    169


    إستبدال __-name-__ بـــ $info['name']
    و _--name--_ بــــ $cat['name']


    يعني ما بين __- و -__ يكون مفتاحا للمصفوفة $info
    و ما بين _-- و --_ يكون مفتاحا للمصفوفة $cat
    و هكدا






  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444


    انك ترفق اكثر من باترن صعبة شوي ولازم تسوي باترن يجمعهم الثنين هذا اذا كانوا اثنين فقط

    لكن ليش التعقيد وانت تقدر تسوي كل هذا بباترن واحد

    شوف المثال
    كود PHP:
    <?
    $info
    ['name'] = "azizsoft";
    $info['category'] = "php";
    $info['email']="some@mail.com";
    function 
    myname ($matches){
    global 
    $info ;
    $string=$matches[1];
    $myinfo['0']=$info[$string];
    return 
    $myinfo['0'];

        
    }

    $txt "My Name is __-name-__ , My category is __-category-__ .. Email me __-email-__ ";
    $search="/\__-(.*?)\-__/is";
    $txt=preg_replace_callback($search,'myname',$txt); 
    echo 
    $txt;
    ?>











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

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

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