Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di ßenJo
    Registrato dal
    Dec 2000
    Messaggi
    33

    Inserire codice PHP nel BBCode

    Ho questa funzione per trasformare il BBCode:

    Codice PHP:
    // rimpiazzo per il tag del grassetto [b]stringa[/b]
            
    $string preg_replace("#\[b\](.*?)\[\/b\]#si""[b]\\1[/b]"$string);

            
    // rimpiazzo per il tag del corsivo [i]stringa[/i]
            
    $string preg_replace("#\[i\](.*?)\[\/i\]#si""[i]\\1[/i]"$string);

            
    // rimpiazzo per il tag del sottolineato [u]stringa[/u]
            
    $string preg_replace("#\[u\](.*?)\[\/u\]#si""<u>\\1</u>"$string);

            
    // rimpiazzo per il tag blockquote [cita]stringa[/cita]
            
    $string preg_replace("#\[cita\](.*?)\[\/cita\]#si""<blockquote>\\1</blockquote>"$string);

            
    // rimpiazzo per il tag colore [colore]stringa[/colore]
            
    $string preg_replace("#\[colore=(\#[0-9A-F]{6}|[a-z\-]+)\](.*?)\[/colore\]#si""<span style=\"color:\\1;\">\\2</span>"$string);

            
    // rimpiazzo per il tag grandezza font [grandezza]stringa[/grandezza]
            
    $string preg_replace("#\[grandezza=(.*?)\](.*?)\[\/grandezza\]#si""<span style=\"font-size:\\1px;\">\\2</span>"$string);

            
    // rimpiazzo per il tag immagine [immagine=image.jpg]
            //$string = preg_replace("#\[immagine=(.*?)\]#si", "<img src=\"".PATH_IMAGES."\\1\" style=\"border:0px;\" alt=\"\\1\">", $string);

            // rimpiazzo per il tag della linea [linea]
            
    $string preg_replace("#\[linea\]#si""<div class=\"breakline\"></div>"$string); 
    che in pratica mi trasforma in HTML un testo scritto in un file.
    Il mio problema è questo:
    nell'editing di un testo che utilizza il BBCode come potrei inserire del codice PHP?
    Cioè che funzione usare per convertire in PHP (cioè fare eseguire materialmente la parte di script) il codice messo tra un tag stile BBCode ?

  2. #2
    Utente di HTML.it L'avatar di ßenJo
    Registrato dal
    Dec 2000
    Messaggi
    33
    Il problema è che la funzione restituisce una stringa con i tag convertiti da utilizzare in un "echo"... per cui qualsiasi tentativo di inserire tag <? ?> fallisce dato che innanzitutto i < e > vengono convertiti nelle rispettive entità... i ritorni a capo in
    ecc....
    ci vorrebbe in effetti una funzione che magari fa una seconda passata.... ma pur facendo cosi rimane il problema di far eseguire lo script php incluso nei tag anzichè stamparlo a video...

  3. #3
    Utente di HTML.it L'avatar di ßenJo
    Registrato dal
    Dec 2000
    Messaggi
    33
    ...Possibile che non ci siano soluzioni?

  4. #4
    Utente di HTML.it L'avatar di ßenJo
    Registrato dal
    Dec 2000
    Messaggi
    33

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    451
    Il consiglio che ti posso dare e vedere se nel bbcode sono presenti i tag <? ?>, a questo punto fai salvare il contenuto in un file creato con la funzione rand() così da creare:

    123456.php

    e con un include() lo carichi.

    sempre se ho capito tu cosa voglia fare!!! :master:

    anche se non capisco il perchè tu lo voglia fare.

  6. #6
    Utente di HTML.it L'avatar di ßenJo
    Registrato dal
    Dec 2000
    Messaggi
    33
    il bbcode l'ho costruito io... e se metto <? ?> mi vengono ristampati uguale....
    mi spiego meglio:

    ho un form dove si possono scrivere notizie o cose cosi, con la necessità di scrivere in grassetto ecc. Mettiamo che ad un certo punto della pagina voglio prelevare dinamicamente un elenco di nomi presi da un database.... mi servirebbe una funzione sempre in bbcode che quella parte me la esegua come codice php..... oppure mi basterebbe anche mettere un tag di inclusione in stile bbcode per inglobare una pagina php che deve essere eseguita... ma il punto è: come far fermare il bbcode in quel punto, far eseguire il contenuto, e farlo ripartire subito dopo?

    si potrebbe pensare a una funzione che magari mi spezza in due il contenuto dell'area di testo (in modalità di visualizzazione intendo)... prima del tag php e dopo il tag php. mi trasforma il bbcode della parte prima, si ferma, mi esegue il codice e poi riparte... ma non ho idea di come poter fare

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.