phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Recupero post con str_replace

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
Ditestamia
Utente
Utente
Messaggi: 17
Iscritto il: 29/02/2012, 11:39
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Recupero post con str_replace

Messaggio da Ditestamia » 16/03/2012, 10:44

Ciao a tutti ho di nuovo un problema legato alla visualizzazione dei post. Come potete vedere a questo link
http://www.ditestamia.it/res/ind_conf.php

i caratteri accentati non vengono codificato e si vede il classico punto interrogativo. la funzione che ho usato per generare il testo è questa

Codice: Seleziona tutto

'TEXT_1'     => substr(generate_text_for_display($array_post[0]['post_text'], $array_post[0]['bbcode_uid'], $array_post[0]['bbcode_bitfield'], $array_post[0]['bbcode_bitfield'], $bbcode_options),0,300),
la codifica della pagina è

Codice: Seleziona tutto

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
dove sbaglio? :frustrante: :frustrante:

grazie mille

Avatar utente
Ditestamia
Utente
Utente
Messaggi: 17
Iscritto il: 29/02/2012, 11:39
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Recupero post con str_replace

Messaggio da Ditestamia » 20/03/2012, 11:56

Un aiutino? sto cercando in rete ma non trovo niente....

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Recupero post con str_replace

Messaggio da Micogian » 20/03/2012, 13:24

Hai salvato i file in formato binario senza BOM ?
Eventualmente prova con la query

Codice: Seleziona tutto

mysql_query('set names utf8');

Avatar utente
Ditestamia
Utente
Utente
Messaggi: 17
Iscritto il: 29/02/2012, 11:39
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Recupero post con str_replace

Messaggio da Ditestamia » 23/03/2012, 11:40

Quella del salvataggio in formato binario senza BOM non l'ho capita :cry:
ma inserendo il codice della query come mi hai suggerito ho risolto il problema, grazie infinite :-)

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Recupero post con str_replace

Messaggio da Micogian » 23/03/2012, 11:53

Per creare o modificare un file devi usare un editor, io uso NotePad++ e mi trovo bene.
La configurazione di NotePad++ deve essere "Codifica UTF-8 senza BOM"

Avatar utente
Ditestamia
Utente
Utente
Messaggi: 17
Iscritto il: 29/02/2012, 11:39
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Recupero post con str_replace

Messaggio da Ditestamia » 17/04/2012, 10:56

Io uso Panic Coda e l'ho settato text encoding unicode utf-8 ma non so come mai non mi funzionasse. :?

ora ho un altro piccolo problema, nei post che richiamo nella pagine del sito continuo a vedere il tag [quote] con i vari codici. Come posso fare per levarlo io uso questa funzione per prendere i testi e d inserirli nelle pagine:

Codice: Seleziona tutto

'TEXT_1'     	=>  substr(generate_text_for_display($array_post[1]['post_text'], $array_post[1]['bbcode_uid'], $array_post[1]['bbcode_bitfield'], $array_post[1]['bbcode_bitfield']),0,300),
in alcune pagine invece :

Codice: Seleziona tutto

$text_ic = generate_text_for_display($row_ic['post_text'], $row_ic['bbcode_uid'], $row_ic['bbcode_bitfield'], $row_ic['bbcode_bitfield']);
cambia solo il substr.
dove sbaglio??

Grazie mille in anticipo ;)

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Recupero post con str_replace

Messaggio da Micogian » 17/04/2012, 11:32

generate_text_for_display() è la funzione utilizzata da phpbb per estrarre il testo dei posts.
Elabora il testo e trasforma i vari bbcode presenti, quindi dovrebbe funzionare.
Diverso invece l'uso della funzione "substr()". In questo caso il problema deriva dalla interruzione del testo a 300 caratteri che potrebbe lasciare "orfani" alcuni tag e bbcode.
E' un problema che ho in passato cercato di risolvere lavorando sui "feed", assieme ad Angolo eravamo giunti a una soluzione accettabile ma poi non ho approfondito più di tanto.
Ci vorrebbe una funzione che controlli la sequenza dei tag presenti nella stringa e se non esistono i relativi tag di chiusura li inserisca a fondo stringa. Ma ci sono una moltitudine di casi di difficile soluzione, a partire dai links.
Altra soluzione sarebbe quella di mantenere inalterati i blocchi [ quote] o [ url] sempre usando le REGEXP (espressioni regolari) ma se una parte quotata supera i 300 caratteri che succede ?

Avatar utente
Ditestamia
Utente
Utente
Messaggi: 17
Iscritto il: 29/02/2012, 11:39
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Recupero post con str_replace

Messaggio da Ditestamia » 17/04/2012, 12:32

ho notato che il tag di apertura quote viene visualizzato mentre quello di chiusura no (nelle pagine php esterne al forum). Da cosa potrebbe dipendere? forse dal fatto che viene visualizzato il nome dell'utente quotato e del relativo codice che la funzione generate text for display non riesce ad interpretare?
Se il con il substr tronco a metà un blocco quote ho visto che all'inizio del quote rimane il tag [quote="nome"codice] ed il testo si vede normalmente senza dare noia al resto della pagina con la corretta chiusura di tutti i tag html e sena dare errori php. Io non sono un laureato e mi sono studiato queste cose da me quindi ho molte lacune anche sulla sicurezza del codice per cui mi affido a voi :D
Il problema del codice visualizzato si presenta anche nel caso in cui uno posti video da youtube.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Recupero post con str_replace

Messaggio da Micogian » 17/04/2012, 12:40

La funzione generate_text_for_display va usata in ambito phpbb, non in php.
La cosa migliore sarebbe creare delle pagine personalizzate ma in ambiente phpbb (Custom page).
In questo caso le funzioni di phpbb sono utilizzabili.

Avatar utente
Ditestamia
Utente
Utente
Messaggi: 17
Iscritto il: 29/02/2012, 11:39
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux

Re: Recupero post con str_replace

Messaggio da Ditestamia » 17/04/2012, 12:54

si si ho creato una custom page se vuoi posso inserire qui il codice della index del sito.

Ho creato le pagine html nella cartella forum->style->miostile->template dove richiamo i valori che gli passo dalla index

ho seguito la guida su phpbb3 in inglese dove spiega come creare le custom page :)

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Baidu [Spider] e 39 ospiti