Gdr cd 5.5 bug virgolette in chat
Gdr cd 5.5 bug virgolette in chat postato il 27/09/2020 00:07:36 nel forum programmazione, open source e hosting e modificato da haruka il 27/09/2020 00:08:19
Condivido il bug e la soluzione "carlona" che ho trovato.Ci siamo accorti che utilizzando la funzione che sostituisce le virgolette < > con « » se in chat si invia una frase che inizia per < e non la si chiude, la stringa arriva tronca in chat.Questa è la soluzione che ho adottato io. Non so ancora se con questo fix faccio danni altrove (le beta servono a questo) controllerò. La chat viene sistemata e il problema non si presenta più, però, ripeto, è un fix abbastanza alla carlona. Se qualcuno ha una soluzione più elegante, o può confermare che questa tutto sommato va bene, meglio. Allora, il file interessato è functions.inc.phpQuesta parte di codice:
function gdrcd_angs($str) { $search = [ '#\<(.+?)\>#is', '#\<(.+?)>#is', ]; $replace = [ '«$1»', '«$1»', ]; return preg_replace($search, $replace, $str);}
è diventata:function gdrcd_angs($str) { $search = [ '#\<#is', '#\>#is', ]; $replace = [ '«', '»', ]; return preg_replace($search, $replace, $str);}
Pagine → 1
27/09/2020 14:31:14
Ciao! non so se lo ha auto corretto il forum di GDR online, ma invece di usare
«
io ho utilizzato il codice HTML per il simbolo«
della land programmata su GDRCD 5.4Non mi ha mai dato problemi. L'unica cosa che cambia se non si chiude il <> è che non camia colore la scritta ma non taglia nullaDovrebbe forse dare meno problemi del simbolo «{$search = array( '#\((.+?)\)#is', '#\[(.+?)\]#is',); $replace = array( '<span class="color1">( $1 )</span>', '<span class="color2">« $1 »</span>', ); return preg_replace($search, $replace, $str);}
(ignora i colori che li avevo messi per il doppio colore)
28/09/2020 11:30:16
Uhm... potrebbe risolvere, vediamo. Faccio qualche prova nel pomeriggio e ti so dire :)Grazie!
28/09/2020 18:15:25 e modificato da haruka il 28/09/2020 18:21:46
vivi1400 ha scritto: Ciao! non so se lo ha auto corretto il forum di GDR online, ma invece di usare
«
io ho utilizzato il codice HTML per il simbolo«
della land programmata su GDRCD 5.4Non mi ha mai dato problemi. L'unica cosa che cambia se non si chiude il <> è che non camia colore la scritta ma non taglia nullaDovrebbe forse dare meno problemi del simbolo «{$search = array( '#\((.+?)\)#is', '#\[(.+?)\]#is',); $replace = array( '<span class="color1">( $1 )</span>', '<span class="color2">« $1 »</span>', ); return preg_replace($search, $replace, $str);}
(ignora i colori che li avevo messi per il doppio colore)Dunque, ho provato, ma con questa funzione in pratica sostituisci le parentesi tonde o le parentesi quadre :)Ho provato così, interpretando la parte iniziale del tuo messaggio e quindi aggiungendo spazi per evitare la correzione di gdronline. Ugualmente, tronca la frase, perché la vede come un tag html aperto, per quel che mi sembra di capire.function gdrcd_angs($str) {$search = array( '#\&l t;(.+?)\&g t;#is', ); $replace = array( '<span class="color1">( $1 )</span>', ); return preg_replace($search, $replace, $str);}
28/10/2020 12:40:30
Grazie per la soluzione Haruka! :)
28/10/2020 17:58:08
Siamo tutti nella stessa barca ragazzi. Se ci si aiuta a vicenda, ne gioviamo tutti ;)
28/10/2020 18:11:09 e modificato da emendil il 28/10/2020 18:24:27
EDIT: No, non risolve niente mettere l'escape \> qui :(function gdrcd_angs($str) {$search = ['#\<(.+?)\>#is','#\<(.+?)>#is', <---- Qui sta il problema del sorgente, manca l'escape per il tag di chiusura!];$replace = ['«$1»','«$1»',];return preg_replace($search, $replace, $str);}
28/10/2020 18:26:16
Ah!Stavo già ringraziandoti e per ripristinare il codice originale... e va beh, magari salta fuori il bug.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!