Modifica bbcode con query su db

Area dedicata al phpBB 3.3.X
Rispondi
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Modifica bbcode con query su db

Messaggio da ItalianCoverDesign »

Salve, come da titolo vorrei chiedere se è possibile modificare tutti quei messaggi presenti nel mio forum dove manca il tag Hide, inserendolo, e lasciando però invariati tutti i messaggi dove invece è presente.

Vi spiego nel dettaglio: nel nostro forum, ogni primo post su tutti i subforum di una sezione, all'interno del testo, è presente la seguente riga:

Codice: Seleziona tutto

[hide][download=orange] Download-link https://www.sito.com/file.rar NOME [/download][/hide]
Tuttavia, agli inizi, il link non si nascondeva a chi non ringraziava, e quindi molti post, ora che il forum è visibile anche agli ospiti, risultano cliccabili.

Codice: Seleziona tutto

[download=orange] Download-link https://www.sito.com/file.rar NOME [/download]
E possibile creare una query che, una volta lasciata sul database, possa andare alla ricerca di tutti quei tag

Codice: Seleziona tutto

 [download=orange]...[/download]
che non sono dentro il tag

Codice: Seleziona tutto

[hide][/hide]
ed inserirlo?
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Modifica bbcode con query su db

Messaggio da ItalianCoverDesign »

Nessuno in grado di darmi un suggerimento in merito? Grazie lo stesso a tutti... dovrò farlo a mano. :angelofly:
Avatar utente
ItalianCoverDesign
Supporter
Supporter
Messaggi: 174
Iscritto il: 18/08/2021, 15:56
Link del Forum: https://www.italiancoverdesign.com
Località: Toscana
Contatta:

Re: Modifica bbcode con query su db

Messaggio da ItalianCoverDesign »

Buongiorno a tutti.

Prendendo spunto dal suggerimento di Barrnet su come modificare un link in tutti post del database, ho provato allo stesso modo inserendo oltre al link da modificare, anche i tag bbcode che vorrei cambiare.

Codice: Seleziona tutto

UPDATE phpbb_posts SET post_text = REPLACE ( post_text, 'old_link', 'new_link' );
nel mio caso, ho necessità di sostituire questa parte di testo bbcode:

Codice: Seleziona tutto

[align=center][url=https://www.italiancoverdesign.com/viewtopic.php?f=130&t=4687][imgsize=350]https://www.italiancoverdesign.com/images/ICD/banner-collection/banner-007.png[/imgsize][/url][/align]
e sostituirlo con questo:

Codice: Seleziona tutto

[url=https://www.italiancoverdesign.com/viewforum.php?f=130][img]https://www.italiancoverdesign.com/images/banner/007.png[/img][/url]
Quindi ho modificato la query di esempio iniziale, sostituendo tabelle e valori così:

Codice: Seleziona tutto

UPDATE avphpbb_posts SET post_text = REPLACE ( post_text, '[url=https://www.italiancoverdesign.com/viewtopic.php?f=130&t=4687][imgsize=350]https://www.italiancoverdesign.com/images/ICD/banner-collection/banner-007.png[/imgsize][/url]', '[url=https://www.italiancoverdesign.com/viewforum.php?f=130][img]https://www.italiancoverdesign.com/images/banner/007.png[/img][/url]' );
Purtroppo il risultato è stato deludente e non ha funzionato; la query lanciata infatti, non ha trovato nessun elemento da sostituire quando in verità ne ho centinaia.

A questo punto ho cercato di indagare su come mai non avesse avuto effetto e, cercando manualmente sul database, mi sono accorto che all'interno della tabella post_text, i tag bbcode sono scritti in maniera diversa da vengono visualizzati nel post vero e proprio.

Tipo, il tag

Codice: Seleziona tutto

[align=center]
viene scritto così

Codice: Seleziona tutto

<ALIGN align="center"><s>[align=center]</s>
e in apertura su ogni riga c'è

Codice: Seleziona tutto

<r>
E' chiaro ed evidente che mi mancano delle basi per proseguire, ma non so esattamente quali. :redface:

Qualcuno, può indirizzarmi sulla strada giusta?
Se prendo da post_text tutta la riga con i tag e i link da sostituire e la modifico, pensate possa funzionare o faccio danno?
E comunque, se inserisco tutta quella riga, non vado a modificare i singoli tag sugli altri post, ma solo quella corrispondenza esatta, giusto?

Grazie
Rispondi