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

الموضوع: مطلوب تحويل [php] bbcode

  1. مطلوب تحويل [php] bbcode



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

    اخواني من يجيد ال regular expressions يا ريت يكتب كود استبدال ما بين وسمين

    [php\] $ [/php][/CODE]

    الى html كود php مع داله highlight_string

    يعني الفكرة هي التحويل من bbcode الى html

    :con2: ولا قادر استوعبها هال regular expressions





    __________________
    سبحان الله و بحمده .... سبحان الله العظيم

    للمراسلة


  2. #2


    جرب هذي ..
    كود PHP:
    function BBcodes($text)
        {
            
            
             
    $searcharray = array ( 
                                    
    "/(\[)(list)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/list)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU"
                                    
    "/(\[)(list)(])(.*)(\[\/list\])/siU"
                                    
    "/(\[\*\])/siU"
                                    
    "/(\[)(url)(=)(['\"]?)(www\.)([^\"']*)(\\4)(.*)(\[\/url\])/siU"
                                    
    "/(\[)(url)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/url\])/siU"
                                     
    "/(\[)(url)(])(www\.)([^\"]*)(\[\/url\])/siU"
                                     
    "/(\[)(url)(])([^\"]*)(\[\/url\])/siU"
                                    
    "/(\[)(b)(])(\n)*(.*)(\[\/b\])/siU"
                                    
    "/(\[)(u)(])(\n)*(.*)(\[\/u\])/siU"
                                    
    "/(\[)(i)(])(\n)*(.*)(\[\/i\])/siU"
                                    
    "/(\[)(pre)(])(\n)*(.*)(\[\/pre\])/siU",
                                    
                                    
    "/javascript:/i",
                                    
    "/vbscript:/i",
                                    
    "/about:/i",
                                    
                                    
    "/(\[)(email)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/email\])/siU"
                                    
    "/(\[)(email)(])([^\"]*)(\[\/email\])/siU",
                                    
    "/(\[)(img)(])(\n)*([^\"]*)(\[\/img\])/siU",
                                    
    "/(\[)(img)(.*)(=)(['\"]?)([^\"']*)(\\5])(.*)(\[\/img\])/siU",
                                    
                                    
    "/(\[)(font)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/FONT\])/siU",
                                    
    "/(\[)(color)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/color\])/siU" ,
                                    
    "/(\[)(size)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/size\])/siU" ,
                                     

                                    
                                    
    "/(\[)(center)(])(\n)*(.*)(\[\/center\])/siU",
                                    
    "/(\[)(left)(])(\n)*(.*)(\[\/left\])/siU",
                                    
    "/(\[)(right)(])(\n)*(.*)(\[\/right\])/siU",
                                    
    "/(\[)(blockquote)(])(\n)*(.*)(\[\/blockquote\])/siU"
                                    
                                
    );

                
    $replacearray = array(                                 
                                        
    "<ol type=\"\\5\">\\7</ol>"
                                        
    "<ul>\\4</ul>"
                                        
    "<li>"
                                        
    "<a href=\"http://www.\\6\" target=\"_blank\">\\8</a>"
                                        
    "<a href=\"\\5\" target=\"_blank\">\\7</a>"
                                        
    "<a href=\"http://www.\\5\" target=\"_blank\">\\5</a>"
                                        
    "<a href=\"\\4\" target=\"_blank\">\\4</a>"
                                        
    "<strong>\\5</strong>"
                                        
    "<u>\\5</u>"
                                        
    "<i>\\5</i>"
                                        
    "<pre>code:\\5</pre>",
                                        
                                        
    "javascr1pt:",
                                        
    "vbscr1pt:",
                                        
    "ab0ut:",

                                        
    "<a href=\"mailto:\\5\" target=\"_blank\">\\7</a>"
                                        
    "<a href=\"mailto:\\4\" target=\"_blank\">\\4</a>",

                                        
    "<img src=\"\\5\" border=\"0\" alt=\"\" />",
                                        
    "<img src=\"\\8\" align=\"\\6\" alt=\"\" />",
                                        
                                        
    "<font face=\"\\5\">\\7</font>",
                                        
    "<font color=\"\\5\">\\7</font>",
                                        
    "<font size=\"\\5\">\\7</font>",
                                        
                                        
                                    
                                        
    "<div align=\"center\">\\5</div>",
                                        
    "<div align=\"left\">\\5</div>",
                                        
    "<div align=\"right\">\\5</div>",
                                        
    "<blockquote>\\5</blockquote>"

                
    ); 
                

                    


                
    $text preg_replace($searcharray$replacearray$text);
    return 
    $text;

    لعلها تفيد





    __________________
    موقع رياض القرآن متخصص بالقرآن الكريم
    WwW.Ryadh-Quran.NeT



  3. شكرا رياض القرآن

    الدالة جدا مميزة وجمعت الكثير من الأكواد المهمة

    باركك الله

    سلامي لك





    __________________
    كل مالا يعطى يضيع

  4. #4


    عفوا ً نسيت انك طلبت PHP highlight : )

    اضف على الدالة :

    كود PHP:
    $text preg_replace_callback("/(\[(php)\])([^\\4\\1]*)(\[\/\\2\])/siU","php_code",$text); 
    واضف دالة :

    كود PHP:
    function php_code($matches)
        {
            
    $text $matches[3];
            
    //$text = stripslashes($text);
            
    ob_start();
            
    $code highlight_string($text); 
            
    $code ob_get_contents();
            
    ob_end_clean();

            return 
    "<div style='font-size:10px; font-family:\"Courier New\"'>
            PHP code : </div> 
            <div dir='ltr' class=\"phpbox\"  >"
    .$code."</div>";
        } 
    والعفو وحيد





    __________________
    موقع رياض القرآن متخصص بالقرآن الكريم
    WwW.Ryadh-Quran.NeT



  5. اخي رياض القرآن باك الله فيك و لكن لا زال هناك مشكلة

    الكود الي حطيته لا يقوم إلا بطباعة كلمة php code و لا يطبع المتغيير

    الثانية ان هذا الوسم بيكون بين نصوص و ارده ان يبقيها كما هي فقط مع تغيير الأوسمه

    يعني هذا مثال

    كود:
    شرح دالة array في البي اتش بي 
    
    بداية الكود يكون هكذا 
    
    [php\] بعض الأكواد هنا [\/php]
    
    مع ملاحظة ان اوسمه البي اتش بي هي نفس الخاصة بالمنتدى 
    
    و لكن غييت فيها كي لا يتم تنفيذها
    الفكرة ان كل النص يبقى كما هو فقط ما بين وسمين php يتحويل لكود php ملون

    معلش غلبتك معي





    __________________
    سبحان الله و بحمده .... سبحان الله العظيم

    للمراسلة

  6. #6


    امممم..

    والله مدري وش المشكلة بالضبط

    شف هذا مثال كامل:

    كود PHP:
    <?

    function BBcodes($text
        { 
             
             
             
    $searcharray = array (  
                                    
    "/(\[)(list)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/list)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU",  
                                    
    "/(\[)(list)(])(.*)(\[\/list\])/siU",  
                                    
    "/(\[\*\])/siU",  
                                    
    "/(\[)(url)(=)(['\"]?)(www\.)([^\"']*)(\\4)(.*)(\[\/url\])/siU",  
                                    
    "/(\[)(url)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/url\])/siU",  
                                     
    "/(\[)(url)(])(www\.)([^\"]*)(\[\/url\])/siU",  
                                     
    "/(\[)(url)(])([^\"]*)(\[\/url\])/siU",  
                                    
    "/(\[)(b)(])(\n)*(.*)(\[\/b\])/siU",  
                                    
    "/(\[)(u)(])(\n)*(.*)(\[\/u\])/siU",  
                                    
    "/(\[)(i)(])(\n)*(.*)(\[\/i\])/siU",  
                                    
    "/(\[)(pre)(])(\n)*(.*)(\[\/pre\])/siU"
                                     
                                    
    "/javascript:/i"
                                    
    "/vbscript:/i"
                                    
    "/about:/i"
                                     
                                    
    "/(\[)(email)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/email\])/siU",  
                                    
    "/(\[)(email)(])([^\"]*)(\[\/email\])/siU"
                                    
    "/(\[)(img)(])(\n)*([^\"]*)(\[\/img\])/siU"
                                    
    "/(\[)(img)(.*)(=)(['\"]?)([^\"']*)(\\5])(.*)(\[\/img\])/siU"
                                     
                                    
    "/(\[)(font)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/FONT\])/siU"
                                    
    "/(\[)(color)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/color\])/siU" 
                                    
    "/(\[)(size)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/size\])/siU" 
                                      

                                     
                                    
    "/(\[)(center)(])(\n)*(.*)(\[\/center\])/siU"
                                    
    "/(\[)(left)(])(\n)*(.*)(\[\/left\])/siU"
                                    
    "/(\[)(right)(])(\n)*(.*)(\[\/right\])/siU"
                                    
    "/(\[)(blockquote)(])(\n)*(.*)(\[\/blockquote\])/siU" 
                                     
                                
    ); 

                
    $replacearray = array(                                  
                                        
    "<ol type=\"\\5\">\\7</ol>",  
                                        
    "<ul>\\4</ul>",  
                                        
    "<li>",  
                                        
    "<a href=\"http://www.\\6\" target=\"_blank\">\\8</a>",  
                                        
    "<a href=\"\\5\" target=\"_blank\">\\7</a>",  
                                        
    "<a href=\"http://www.\\5\" target=\"_blank\">\\5</a>",  
                                        
    "<a href=\"\\4\" target=\"_blank\">\\4</a>",  
                                        
    "<strong>\\5</strong>",  
                                        
    "<u>\\5</u>",  
                                        
    "<i>\\5</i>",  
                                        
    "<pre>code:\\5</pre>"
                                         
                                        
    "javascr1pt:"
                                        
    "vbscr1pt:"
                                        
    "ab0ut:"

                                        
    "<a href=\"mailto:\\5\" target=\"_blank\">\\7</a>",  
                                        
    "<a href=\"mailto:\\4\" target=\"_blank\">\\4</a>"

                                        
    "<img src=\"\\5\" border=\"0\" alt=\"\" />"
                                        
    "<img src=\"\\8\" align=\"\\6\" alt=\"\" />"
                                         
                                        
    "<font face=\"\\5\">\\7</font>"
                                        
    "<font color=\"\\5\">\\7</font>"
                                        
    "<font size=\"\\5\">\\7</font>"
                                         
                                         
                                     
                                        
    "<div align=\"center\">\\5</div>"
                                        
    "<div align=\"left\">\\5</div>"
                                        
    "<div align=\"right\">\\5</div>"
                                        
    "<blockquote>\\5</blockquote>" 

                
    );  
                 

                
    $text preg_replace_callback("/(\[(php)\])([^\\4\\1]*)(\[\/\\2\])/siU","php_code",$text);
                
    $text preg_replace($searcharray$replacearray$text); 
                
                
    return 
    $text
    }  


    function 
    php_code($matches)
        {
            
    $text $matches[3];
            
    //$text = stripslashes($text);
            
    ob_start();
            
    $code highlight_string($text); 
            
    $code ob_get_contents();
            
    ob_end_clean();

            return 
    "<div style='font-size:10px; font-family:\"Courier New\"'>
            PHP code : </div> 
            <div dir='ltr' class=\"phpbox\"  >"
    .$code."</div>";
        } 





    echo 
    BBcodes("
    شرح دالة array في البي اتش بي 

    بداية الكود يكون هكذا 

    [\php] 
    <?
    if( 
    $var = '')
    {
        //Do...
    }
    ?>
    [\/php]


    مع ملاحظة ان اوسمه البي اتش بي هي نفس الخاصة بالمنتدى 

    و لكن غييت فيها كي لا يتم تنفيذها "
    );
    ?>






    __________________
    موقع رياض القرآن متخصص بالقرآن الكريم
    WwW.Ryadh-Quran.NeT

  7. #7
    فضلاً اكتب اسمك الحقيقي هنا
    زائرb9n9


    ابحث عن

    كود:
    $text = preg_replace_callback("/(\[(php)\])([^\\4\\1]*)(\[\/\\2\])/siU","php_code",$text);
    واستبدله بهذا الكود

    كود:
    $text = preg_replace_callback("/(\[(php)\])([^\\4\\1]*)(\[\/\\2\])/siU", array(&$this, 'php_code') ,$text);







  8. #8
    فضلاً اكتب اسمك الحقيقي هنا
    زائرb9n9


    شكراً رياض القرآن

    اخذت نسخه من الكود واحتفظت فيه للمستقبل








  9. بارك الله فيك اخي رياض القرآن ممتاز و يعمل بكفائة

    و لكن بقي نقطه واحدة

    الداله هذي تقوم بعملها جيدا و لكن تحذف <? و هو رمز بداية كود البي اتش بي

    هل من حل معها

    على العموم بارك الله فيك ما قصرت و نردها لك ان شاء الله

    بالتوفيق





    __________________
    سبحان الله و بحمده .... سبحان الله العظيم

    للمراسلة

  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    841


    هذا دالة بسيطة وجدتها يمكن يفيدكم

    كود PHP:
    <?php
    function bbcode_format($var) {
            
    $search = array(
                    
    '/\[b\](.*?)\[\/b\]/is',
                    
    '/\[i\](.*?)\[\/i\]/is',
                    
    '/\[u\](.*?)\[\/u\]/is',
                    
    '/\[img\](.*?)\[\/img\]/is',
                    
    '/\[url\](.*?)\[\/url\]/is',
                    
    '/\[url\=(.*?)\](.*?)\[\/url\]/is'
                    
    );

            
    $replace = array(
                    
    '<strong>$1</strong>',
                    
    '<em>$1</em>',
                    
    '<u>$1</u>',
                    
    '<img src="$1" />',
                    
    '<a href="$1">$1</a>',
                    
    '<a href="$1">$2</a>'
                    
    );

            
    $var preg_replace ($search$replace$var);

            return 
    $var;
    }
    ?>






    __________________
    Egypt Museum - متحف مصر، موقع يهتم بعلم المصريات وتاريخ وثقافة وفنون الحضارة المصرية القديمة.

  11. #11
    عضو جديد
    تاريخ التسجيل
    May 2006
    المشاركات
    27


    السلام عليكم اخوي b happy كيفك ؟؟ ان شاء الله بخير

    تفضل هالكود وان شاء الله يضبط معاك واي خدمه تحت امرك ياغالي
    في المرفقات لاني حاولت احطه بس في مشاكل لو حطيته هنا يلخبط الدنيا ويحوسها لانه يحتوي على كملة php

    http://www.swalif.net/softs/attachme...id=34233&stc=1





    الملفات المرفقة الملفات المرفقة
    __________________
    be.adamant@gmail.com

  12. #12
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    39

    السلام عليكم ورحمة الله تفضل اخى الكريم كلاس كامل يفيدك كثيرا



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

    تحياتى لجميع الاخوة ودوالهم المميزة اعلاه

    حبيت ان اضيف لك كلاس كام يغنيك عن الكثير من الدوال ويفيدك فى انجاز معظم مشاريعك
    وطريقة استخادمه سهلة جدا

    تفضل اخى الكريم

    الاستخدام

    كود:
    <?php
    /**
     * مثال على تطيبق الكلاس
     */
    
    $_mypost = $_POST['eja'];
    
    $TEST = NEW ParseFilter;
    $eja  = $TEST-> filterTags( $_mypost ); // لتنظيف الكود من الاكواد الغير امنة
    
    $eja  =  $TEST -> BB_Parse($eja, $use_html=TRUE);  // الناتج النهائى
    
    echo $eja ;
    
    
    ?>
    تحياتى لك





    الملفات المرفقة الملفات المرفقة
    __________________
    NileSolutions.biz Creative Web Engineering
    Php,Perl,Xhtml,Javascript,Css C++

    http://astaza.com/
    http://uf3.com





المواضيع المتشابهه

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

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

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