[GDRCD 5.6.0.6] Tag non funzionanti dell'editor WysiBB
[GDRCD 5.6.0.6] Tag non funzionanti dell'editor WysiBB postato il 11/07/2024 13:53:54 nel forum programmazione, open source e hosting
Buongiorno!
Stavo smanettando e ho installato l'editor WysiBB anche grazie a dei topic qui che risolvevano dei problemi per farlo funzionare nelle modali.
Funziona tutto. I testi li fa e tutto quanto.
Solo che ci sono alcuni tag che non funzionano e volevo capire come si potesse sistemare questa cosa.
Mi spiego:
non funzionano nel senso che quando li metti nell'editor danno il loro risultato, ma una volta postato vengono semplicemente tradotti e scritti.
Visione editor:

Visualizzazione post:

I tag nello specifico che fanno questo "lavoretto" sono:
- apice
- pedice
- youtube
- Link
- Elenco numerato
- Elenco non numerato
- Grandezza Font
- Tabella.
Se per apice, pedice, youtube mi frega poco inserirli, gli altri (link, elenco numerato, elenco non numerato, grandezza font e tabella) mi servirebbero di più in vista di eventuali modifiche ai post e via dicendo.
Qualcuno ha avuto lo stesso problema o sa come risolvere?
Ho cercato già sul forum ma non ho trovato nulla.
Pagine → 1
11/07/2024 14:54:00
Dovresti recuperare questi due file:
includes > functions.inc.php
plugins > bbdecoder > bbdecoder.php
Non saprei dirti a quale altezza di preciso vengono individuate, perché sono due file che da noi sono stati pesantemente modificati, ma ad un certo punto dovresti incontrare delle regex che appaiono più o meno così (functions):
'#\n#',
'#\[hr\]#is',
'#\[B\](.+?)\[\/B\]#is',
'#\[i\](.+?)\[\/i\]#is',
'#\[U\](.+?)\[\/U\]#is',
'#\[s\](.+?)\[\/s\]#is',
O così (bbdecoder):
'[hr]',
'~',
'~',
'~',
'[s]~[/s]',
'[big]~[/big]',
'[table]~[/table]',
'[tr]~[/tr]',
'[th]~[/th]',
Vedendo che il problema è in output, molto probabilmente nel plugin di decodifica (bbdecoder) mancano le espressioni regolari previste per i tag in bbcode di quello che non riesci ad inserire.
Seguendo lo schema (array) presente nel file:
array(
"\n",
'[hr]',
'~',
'~',
'~',
'[s]~[/s]',
'[big]~[/big]',
'[table]~[/table]',
'[tr]~[/tr]',
'[th]~[/th]',
),
array(
'<br />',
'<hr />',
'<strong>~</strong>',
'<em>~</em>',
'<ins>~</ins>',
'<del>~</del>',
'<span style="font-size:18px;">~</span>',
'<table>~</table>',
'<tr>~</tr>',
'<td style="border:1px solid;">~</td>',
)
Inserisci i tag tra quadre [ ] che mancano dalla lista e l'equivalente in html.
(Nell'esempio che ti ho fatto preso dai nostri file la decodifica per i tag tabella sono già presenti!)
Lo stesso fai con le regex nel file functions che il sistema è il medesimo.
(Quello che cambia è quale funzione richiama la decodifica: nel file functions trovi la funzione che "cambia" i tag in output "echo gdrcd_bbcoder" in html visualizzabile)
...sono andato molto a braccio e molto a memoria 😵
Ma spero ti sia utile per sapere dove mettere mano!
- M.
11/07/2024 18:55:21 e modificato da meleys il 11/07/2024 19:02:20
brighteststar ha scritto: Dovresti recuperare questi due file:
includes > functions.inc.php
plugins > bbdecoder > bbdecoder.php
Non saprei dirti a quale altezza di preciso vengono individuate, perché sono due file che da noi sono stati pesantemente modificati, ma ad un certo punto dovresti incontrare delle regex che appaiono più o meno così (functions):
'#\n#',
'#\[hr\]#is',
'#\[B\](.+?)\[\/B\]#is',
'#\[i\](.+?)\[\/i\]#is',
'#\[U\](.+?)\[\/U\]#is',
'#\[s\](.+?)\[\/s\]#is',
O così (bbdecoder):
'[hr]',
'~',
'~',
'~',
'[s]~[/s]',
'[big]~[/big]',
'[table]~[/table]',
'[tr]~[/tr]',
'[th]~[/th]',
Vedendo che il problema è in output, molto probabilmente nel plugin di decodifica (bbdecoder) mancano le espressioni regolari previste per i tag in bbcode di quello che non riesci ad inserire.
Seguendo lo schema (array) presente nel file:
array(
"\n",
'[hr]',
'~',
'~',
'~',
'[s]~[/s]',
'[big]~[/big]',
'[table]~[/table]',
'[tr]~[/tr]',
'[th]~[/th]',
),
array(
'<br />',
'<hr />',
'<strong>~</strong>',
'<em>~</em>',
'<ins>~</ins>',
'<del>~</del>',
'<span style="font-size:18px;">~</span>',
'<table>~</table>',
'<tr>~</tr>',
'<td style="border:1px solid;">~</td>',
)
Inserisci i tag tra quadre [ ] che mancano dalla lista e l'equivalente in html.
(Nell'esempio che ti ho fatto preso dai nostri file la decodifica per i tag tabella sono già presenti!)
Lo stesso fai con le regex nel file functions che il sistema è il medesimo.
(Quello che cambia è quale funzione richiama la decodifica: nel file functions trovi la funzione che "cambia" i tag in output "echo gdrcd_bbcoder" in html visualizzabile)
...sono andato molto a braccio e molto a memoria 😵
Ma spero ti sia utile per sapere dove mettere mano!
- M.
Uh grazie **
ho provato ora la tabella e funziona
e per il link ci ho dovuto bestemmiare un pochino ma alla fine ho risolto cosi
aggiunto questo in alto in bbcode
"#\[url=($regexpUrl)\](.*?(?!\[url).*?)\[/url\]#is" => "<a href=\"\\1\" target=\"_blank\" title=\"\\1\">\\2</a>" // Aggiunto qui
poi messo cosi
'[url=~]~[/url]',
'<a href="~">~</a>',
ora provo con youtube e vediamo quanto ci smatto XD
per altro ho provato a farlo per "size"
inserendo cosi
[size=~]~[/size]
<span style="font-size:~px">~</span>
solo che poi nella "prova video" non mi stampa proprio il testo.
Come se fosse invisibile.
12/07/2024 10:36:02
Per il size, se la dimensione del testo viene scelta da un menù a tendina dove puoi selezionare "piccolo", "medio", "grande" (purtroppo non ricordo come funzioni WysiwiBB, noi abbiamo un editor dedicato) la logica potrebbe essere questa:
'[size=medium]~[/size]',
(...)
<span style="font-size:14px">~</span>
Ipotizzo, a logica, che il problema per cui non ti viene stampato a video sia dato dal fatto che nel corrispettivo in html non sia esplicitato alcun size in pixel.
Se invece la misura del size la indichi tu manualmente, o peschi da un menù a tendina con tutti i valori di pixel, ad esempio, da 8 a 20...
...usando il filtro bbdecoder in output, noi abbiamo utilizzato una logica simile, ma solo nel file functions.inc.php, per il colore:
'#\[color=(.+?)\](.+?)\[\/color\]#is',
'<span style="color: $1;">$2</span>',
Penso, tra l'altro, che la regex per la modifica colore in file functions sia nativa in gdrcd, quindi dovresti trovarla facilmente, ma concettualmente, il size funziona alla stessa maniera: tu selezioni un valore di size (equivalente a $1 nella regex) e lo applichi al contenuto tra tag (indicato da $2 nella regex)
Prova a vedere se queste due dritte ti possono essere di aiuto!
- M.
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!
Sea of Conquest ↗
Cafuné ↗
Crossout ↗
Foundation Galactic Frontier ↗