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.