Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    problemi funzione bbcode

    avevo trovato una bella funzione epr i bbcode scritta da un utente del forum

    Codice PHP:
    <?php
     
     
    function bbcode($text) {

           
    $bb_code[0] = '/(\\n)/i';
           
    $bb_replace[0] = '
    '
    ;

           
    $bb_code[1] = '/(\[b\])(.*)(\[\/b\])/i';
           
    $bb_replace[1] = '[b]${2}[/b]';

           
    $bb_code[2] = '/(\[i\])(.*)(\[\/i\])/i';
           
    $bb_replace[2] = '[i]${2}[/i]';

           
    $bb_code[3] = '/(\[u\])(.*)(\[\/u\])/i';
           
    $bb_replace[3] = '<u>${2}</u>';

           
    $bb_code[4] = '/(\[url\=(.+?)\](.+?)\[\/url\])/i';
           
    $bb_replace[4] = '[url="${2}"]${3}[/url]';

           
    $bb_code[5] = '/(\[img\=(.+?)\])(.*)(\[\/img\])/i';
           
    $bb_replace[5] = '[img]${2}[/img]';

           
    $bb_code[6] = '/(\[align\=(left|right|center)\]([^\a]+?)\[\/align\])/i';
           
    $bb_replace[6] = '<div align="${2}">${3}</div>';

           
    //$bb_code[7] = '/(\[size\)(.*)(\[\/size\])/i';
           
    $bb_code[7] = '/(\[size\=([1-9])\])([^\a]+?)(\[\/size\])/i';
           
    $bb_replace[7] = '<span style="font-size: ${2}pt;">${3}</span>';

           
    $bb_code[8] = '/(\[color\=([\#]?[0-9a-f]{3}|[\#]?[0-9a-f]{6}|[a-z]{3,})\]([^\a]+?)\[\/color\])/i';
           
    $bb_replace[8] = '<span style="color: ${2};">${3}</span>';

           
    $bb_code[9] = '/(\[code\])(.*)(\[\/code\])/i';
           
    $bb_replace[9] = '<pre>${2}</pre>';

           
    $bb_code[10] = '/(\[quote\])(.*)(\[\/quote\])/i';
           
    $bb_replace[10] = '<pre>${2}</pre>';
           
           
    $bb_code[11] = '/(\[hr])/i';
           
    $bb_replace[11] = '<hr>';

           
    $bb_code[12] = '/(\[list\])(.*)(\[\/list\])/i';//lista non ordinata
           
    $bb_replace[12] = '<ul>${2}[/list]';

           
    $bb_code[13] = '/(\[list\=1\]([^\a]+?)\[\/list\])/i'//lista numerata
           
    $bb_replace[13] = '[list=1]${2}[/list]';

           
    $bb_code[14] = '/(\[list\=(a|A|i|I)\]([^\a]+?)\[\/list\])/i'//lista ordinata con lettere o numeri romani
           
    $bb_replace[14] = '[list=1]${3}[/list]';

           
    $bb_code[15] = '/(\[\*\](.+?)\[\/\*\])/i'//elemento della lista
           
    $bb_replace[15] = '[*]${2}';

           
    $return preg_replace($bb_code$bb_replace$text);
           return 
    $return;
       }
       
       
    ?>
    funziona perfettamente quando nel testo c'è epr esempio solo un [ b] [ /b] oppure un solo [url =link] [/ url] etc.. ma quando c'è ne sono più di uno prende il primo tag di apertura e l'ultimo nel testo e quindi si sballa tutto..

    qualcuno sa il perchè? e saprebbe correggemelo?

  2. #2
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    per vedere correttamente il codice bisogna quotare il messaggio perchè il fourm formatta il codice e quindi lo sballa..

    cmq nessuno sa come aiutarmi?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.