Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    problema con [quote] in forum

    Un pò di tempo fa aprii un topic per farmi aiutare a creare un forum artigianalmente, e vi chiesi come poteva essere fatto il sistema del [ QUOTE ] e [ /QUOTE ]

    La soluzione fu pressapoco questa

    Codice PHP:
    $rol[Testo] = str_replace("[ QUOTE]","<table style='border: 1px solid #747474;' rules='all' width=94%><tr><td bgcolor=white><font class=nero>[b]Citazione[/b]</font>

    <font class=forumnero><code>"
    ,$rol[Testo]);
    $rol[Testo] = str_replace("[ /QUOTE]","</code></font></td></tr></table>",$rol[Testo]);
    //ho messo apposta lo spazio ora prima di QUOTE altrimenti non si visualizza 
    cioè di sostituire nella stringa il quote ed il /quote con l'aperture e la chiusura di una tabella di sfondo bianco che mi creasse quindi lo spazio quote in un messaggio.

    Il problema che ho riscontrato più di una volta, e che ho dovuto aggiustare manualmente ogni volta e che se tipo un utente di dimentica o sbaglia a scrivere il /QUOTE si apre giustamente la tabella e non si chiude più, quindi il risultato è si sfascia tutta la pagina.

    Ho provato alcune soluzioni tipo

    Codice PHP:
    $rol[Testo] = str_replace("[ quote]","[ QUOTE]",$rol[Testo]);
    $rol[Testo] = str_replace("[/quote]","[ /QUOTE]",$rol[Testo]);
    $rol[Testo] = str_replace("[QUOT]","[ QUOTE]",$rol[Testo]);
    $rol[Testo] = str_replace("[QUOE]","[ QUOTE]",$rol[Testo]);
    $rol[Testo] = str_replace("[QUTE]","[ QUOTE]",$rol[Testo]);
    $rol[Testo] = str_replace("[QOTE]","[ QUOTE]",$rol[Testo]);
    $rol[Testo] = str_replace("[UOTE]","[ QUOTE]",$rol[Testo]);
    ... 
    insomma "riparare" l'errore dell'utente ma non ho avuto gran successo.

    Come faccio a non riscontrare più questo problema?

    thanks a tutti.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  2. #2
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    Guarda qui, proprio in questi giorni ho un po' lavorato su un problema analogo al tuo.

    Forse può esserti d'aiuto, dato che il bbcode funziona. Se hai suggerimenti per migliorare lo script son ben accetti.

  3. #3
    grazie della risposta ma io ho tutto completo il bbcode, ho solo questo piccolo difettuccio del quote e non vorrei riscrivere da capo tutto il codice.

    Ho smanettato un pò nel phpbb ed ho visto che gestisce il quote in questo modo

    Codice PHP:
    if( preg_match('#\[quote=\\\&quot;#si'$possible_start$match) && !preg_match('#\[quote=\\\&quot;(.*?)\\\&quot;\]#si'$possible_start) )
                    {
                        
    // OK we are in a quote tag that probably contains a ] bracket. 
    cosa vorrà mai dire?
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  4. #4
    Utente di HTML.it L'avatar di tziggie
    Registrato dal
    Mar 2007
    Messaggi
    105
    [QUOTE]Originariamente inviato da Manuelandro
    Ho smanettato un pò nel phpbb ed ho visto che gestisce il quote in questo modo

    Codice PHP:
    if( preg_match('#\[quote=\\\&quot;#si'$possible_start$match) && !preg_match('#\[quote=\\\&quot;(.*?)\\\&quot;\]#si'$possible_start) )
                    {
                        
    // OK we are in a quote tag that probably contains a ] bracket.                
    [/quote
    Quote Originariamente inviata da \\\&quot;#si', $possible_start, $match) && !preg_match('#\[quote=\\\&quot;(.*?)\\\&quot;\

    cosa vorrà mai dire?
    Così su due piedi quest'unica riga mi sembra che serva a controllare se ci troviamo in presenza di un tag oppure no.
    Immagino che $possible_start sia una stringa che probabilmente segnala l'inizio di un tag e all'interno della quale si trovano i testi indicati in $match (vedere preg_match).
    Leggendo il commento, se vengono soddisfatti i criteri dati allora ci troviamo probabilmente in presenza di una parentesi quadra di chiusura ]
    Però è troppo poco per capire. Non capisco se si vuole fare un controllo per vedere se la parentesi quadra si trova all'interno del tag e non c'entra niente oppure se si vuole verificare che si tratta di una parentesi che chiude il tag.

  5. #5
    up
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

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.