[RISOLTO][Gdrcd 5.6]Bbcode postato il 11/02/2023 20:23:14 nel forum programmazione, gdrcd e open source e modificato da darkmirror il 15/02/2023 11:47:35
E' una domanda generale. Ho riscontrato lo stesso problema su Editor diversi.
Usando una qualsiasi toolbar spesso capita che alcuni comandi non funzionino, l'editor formatta tutto e su gdrcd è in funzione il bbcode.
Solo che quando premi il tastino invia testo (che sia messaggio, scheda, forum o descrizione luogo) le parole sono circondate da quadre e comandi non formattati.
I due incriminati sono di solito quei comandi con le liste, cioè:Size, font e color.
Ho seguito tutti i post dove se ne parla però il problema resta.
Qualcuno mi sa illuminare?grazie :)
Ringrazio chi ha suggerito la risoluzione e sallys per alcune dritte sul bbcode e le risate xD.
Questo è il pezzo aggiornato, manca la tabella. A me non serviva. Funziona su tutto, basta far accortezza che le aree dedicate abbiano il gdrcd_filter :)
/**
* BBcode nativo di GDRCD
* Secondo me, questo bbcode presenta non poche vulnerabilità .
* TODO Andrebbe aggiornata per essere più sicura
* @param string $str : la stringa con i bbcode da tradurre, dovrebbe già essere stata filtrata per l'output su pagina web
* @return $str con i tag bbcode tradotti in html
* @author Blancks
*/
function gdrcd_bbcoder($str)
{
global $MESSAGE;
$str = gdrcd_close_tags('quote', $str);
$search = [
'#\n#',
'#\[BR\]#is',
'#\[HR\]#is',
'#\[B\](.+?)\[\/B\]#is',
'#\[i\](.+?)\[\/i\]#is',
'#\[U\](.+?)\[\/U\]#is',
'#\[s\](.+?)\[\/s\]#is',
'#\[sub\](.+?)\[\/sub\]#is',
'#\[sup\](.+?)\[\/sup\]#is',
'#\[left\](.+?)\[\/left\]#is',
'#\[center\](.+?)\[\/center\]#is',
'#\[right\](.+?)\[\/right\]#is',
'#\[justify\](.+?)\[\/justify\]#is',
'#\[font=(.+?)\](.+?)\[\/font\]#is',
'#\[size=(.+?)\](.+?)\[\/size\]#is',
'#\[color=(.+?)\](.+?)\[\/color\]#is',
"#\[\ol\](.+?)\[/\ol\]#si",
"#\[\li\](.+?)\[/\li\]#si",
"#\[\ul\](.+?)\[/\ul\]#si",
'#\[img\](.+?)\[\/img\]#is',
'#\[redirect\](.+?)\[\/redirect\]#is',
'#\[url=(.+?)\](.+?)\[\/url\]#is',
'#\[quote(?::\w+)?\]#i',
'#\[quote=(?:"|"|\')?(.*?)["\']?(?:"|"|\')?\]#i',
'#\[/quote(?::\w+)?\]#si'
];
$replace = [
'<br />',
'<br />',
'<hr />',
'<span style="font-weight: bold;">$1</span>',
'<span style="font-style: italic;">$1</span>',
'<span style="border-bottom: 1px solid;">$1</span>',
'<span style="text-decoration: line-through;">$1</span>',
'<span style="vertical-align: sub;">$1</span>',
'<span style="vertical-align: super;">$1</span>',
'<div style="width:100%; text-align: left;">$1</div>',
'<div style="width:100%; text-align: center;">$1</div>',
'<div style="text-align:right">$1</div>',
'<div style="width:100%; text-align: justify;">$1</div>',
'<span style="font-family:$1;">$2</span>',
'<font size="$1px">$2</font>',
'<span style="color:$1;">$2</span>',
'<ol>$1</ol>',
'<li>$1</li>',
'<ul>$1</ul>',
'<img src="$1">',
'<meta http-equiv="Refresh" content="5;url=$1">',
'<a href="$1" target="blank">$2</a>',
'<div class="bb-quote"> <blockquote class="bb-quote-body">',
'<div class="bb-quote"><div class="bb-quote-name">$1 ha scritto</div><blockquote class="bb-quote-body">',
'</blockquote></div>'
];
return preg_replace($search, $replace, $str);
}
Pagine → 1
12/02/2023 07:47:06
La prima cosa che mi viene in mente è che non ci sia lato php nel bbdecoder il pattern che dovrebbe fare la sostituzzione o che sia elggermente diverso, da non riconoscere il bbcode che gli arriva magari per qualche apice o maiuscola/minuscola diversi.
14/02/2023 15:47:48
Ciao!
guarda con abbastanza confidenza posso dirti che il problema risiede nel file "function.php" di GDRCD.
In quel file vi è una funzione che trasforma il BBCODE in tag html , guardando bene di tanto in tanto non torna con i tag usati dai vari editor con quello che il file in function elabora.
Dovrai sicuramente rivedere quel file, capendo cosa ti invia l'editor e adattare il file function
ad esempio l'altro giorno ho usato un editor che per la grandezza del carattere inseriva un tag fatto così
[font size=7] testo[/font] il file function.php non lo becca, quindi devi andare ad inserirlo tra i vari tag da sostituire.
Spero sia stato d'aiuto!
Claudio
14/02/2023 15:58:28
Grazie ad entrambi :) pensavo di aver risposto: si. Il problema è proprio in function, molti comandi non ci sono e sto integrando.
15/02/2023 11:14:50
Il BBCode presente nella versione vanilla di GDRCD è per lo più ridotto all'osso e nemmeno tanto aggiornato negli anni. Deve fornire a chi lo utilizza uno scheletro funzionante da ampliare, impostato comunque con una logica semplice per essere facilmente intesa.
Ma non per forza deve rimanere così in eterno e, anzi, se qualcuno volesse aggiornarlo e/o condividere migliorie e nuove funzionalità avrà tutto il nostro sostegno.
Kasa.
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
15/02/2023 11:48:28
Risolto tutto, aggiornato il post iniziale, grazie ^^
Discussione seguita da
Pagine → 1
Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
haruka ha aperto un annuncio di ricerca: Above Leggendra ricerca Giocatore
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 18 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste