- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema con i BBCode
- 
							
							
							
							
							Problema con i BBCodeBuonasera, sto cercando di fare un sistema di BBCode e ho notato lo script in Risorse Utili e l' ho integrato in una pagina usando un metodo che... non mi piace. bbcode.php [PHP] 
 <?php
 function bbcode($testo) {
 $cerca_codice= array(
 '/[b](.?)[/b]/is',
 '/[i](.?)[/i]/is',
 '/[u](.*?)[/u]/is'
 );
 $sostituisci_codice = array(
 '<b>$1</b>',
 '<i>$1</i>',
 '<u>$1</u>',
 );
 $testo= preg_replace ($cerca_codice, $sostituisci_codice, $testo);
 return $testo;
 }
 ?>
 [/PHP]index.php [PHP] 
 <?php
 include "bbcode.php";$testo = 'prova'; 
 $text = bbcode($testo);
 echo $text;
 ?>
 [/PHP]Funziona però mi è inutile così, a me servirebbe che funzionasse solo con il bbcode "puro". 
 Consigli ?
 
- 
							
							
							
							
							Ciao RoxasShadow, 
 che significa bbcode puro?
 
- 
							
							
							
							
							Cioè che mi basta scrivere testo per generare il grassetto, senza inserirlo nella funzione. 
 
- 
							
							
							
							
							Non ho capito cosa intendi... 
 
- 
							
							
							
							
							
Cerca su google TinyMCE (tinymce.moxiecode.com/), io lo uso per i miei siti. 
 
- 
							
							
							
							
							Thedarkita intendo che da Risorse ho prelevato questo script [PHP] 
 <?php
 function bbcode($testo) {
 $cerca_codice= array(
 '/[b](.?)[/b]/is',
 '/[i](.?)[/i]/is',
 '/[u](.*?)[/u]/is'
 );
 $sostituisci_codice = array(
 '<b>$1</b>',
 '<i>$1</i>',
 '<u>$1</u>',
 );
 $testo= preg_replace ($cerca_codice, $sostituisci_codice, $testo);
 return $testo;
 }
 ?>
 [/PHP]Ma dopo averlo importato nella mia index non funzionava, infatti se scrivevo [ b ] testo [ b ], l' output era quello dato nel sorgente, non grassettato. Ho risolto solo in questo modo, ma non è quel che cerco. [PHP] 
 <?php
 $testo = 'prova';
 $text = bbcode($testo);
 echo $text;
 ?>
 [/PHP]Mi sono spiegato meglio ? 
 
- 
							
							
							
							
							Che funzioni in quel modo è normale, non sò come ti aspetti che funzioni ma devi lavorare sempre su variabili in quel modo in qualsiasi linguaggio di programmazione... 
 
- 
							
							
							
							
							Non c'è un modo per rendere < strong > in [ b ] usando il bbcode come il normale html ? 
 
- 
							
							
							
							
							ti propongo una soluzione, vediamo se ti aggrada: - modifica la funzione bbcode come segue (echo anziche' return)
 [php]function bbcode($testo) { 
 $cerca_codice= array(
 '/[b](.?)[/b]/is',
 '/[i](.?)[/i]/is',
 '/[u](.*?)[/u]/is'
 );
 $sostituisci_codice = array(
 '<b>$1</b>',
 '<i>$1</i>',
 '<u>$1</u>',
 );
 $testo= preg_replace ($cerca_codice, $sostituisci_codice, $testo);
 echo $testo;
 }[/php]2) anziche' usare echo "testo", usi bbcode( "testo" );lascia pero' che ti dica che e' un uso 'scorretto' del concetto di funzione. Un'uso corretto sarebbe, riferendomi alla prima versione della funzione bbcode(): 
 [php]echo bbcode( "testo" );[/php]
 
- 
							
							
							
							
							Ciao, ti ringrazio molto per il tuo aiuto ma avevo già risolto col metodo classico. 
 Magari sarà utile a qualcun altro, grazie comunque di nuovo