• Benvenuti su XenForo Italia!

    Stai navigando nella nostra community come Ospite.

    Avere un account su XenForo Italia ti permetterà di creare e partecipare alle discussioni, scaricare i file di traduzione in italiano, vedere le immagini e i video a formato intero, iniziare conversazioni personali con gli altri membri del forum e di utilizzare tutte le funzioni di questo sito.

    Condividi anche tu la tua passione per XenForo!

    Registrarsi è gratis ed elimina la pubblicità

  • per chiudere questo avviso, clicca la crocetta >>
    ATTENZIONE: Per scaricare le traduzioni, verifica la tua licenza
    Per scaricare la traduzione o per ottenere supporto devi prima verificare la validità della tua licenza XenForo. Puoi farlo a partire da questa pagina.
    Buon Download!

Jonathan_Biasella

Admin XenForo
Licenza Verificata
Punteggio reazioni
2
Punti
30
Ciao a tutti sul mio sito ho delle schede corsi il quale richiamano le discussioni inerenti dal forum. Il tutto funziona tranne che per i link grassetti ecc.. che non vengono interpretati. Qualcuno ha idea di come posso risolvere?
 

Allegati

  • Screenshot_1.jpg
    Screenshot_1.jpg
    70,6 KB · Visite: 289

Kintaro

Custode del Forum
Licenza Verificata
Punteggio reazioni
136
Punti
70
Anzi probabilmente no. Semplicemente secondo me il codice che hai su WordPress non sta interpretando correttamente i tag, infatti nella pagina che ti ho linkato sopra se vai nel forum i tag non ci sono ma si vede il codice HTML.

WordPress quindi si aspetta il codice HTML. Chi ti ha fatto quella funzione che raccoglie i post dal forum e li visualizza nella pagina del corso deve fare in modo che vengano convertiti bene.
 

Jonathan_Biasella

Admin XenForo
Licenza Verificata
Punteggio reazioni
2
Punti
30
Guarda visto che ci siamo ti condivido il codice ce fa funzionare tutto questo:
PHP:
                <div class="widget reviews section">
                    <h2 class="title">Se ne parla nel forum: TESTIMONIANZE E DISCUSSIONI</h2>
                    <?php if (get_field('id_discussione_forum')) :
                            global $seconddb;
                            $threads = $seconddb->get_results( "SELECT xt.title, xp.user_id, xp.username, xp.post_date, xp.message FROM xf_post xp, xf_thread xt WHERE xp.thread_id = xt.thread_id AND xp.thread_id = ".get_field('id_discussione_forum')." AND xp.message_state = 'visible' ORDER BY xp.post_date DESC LIMIT 3", ARRAY_A );
                            
                    ?>
                    <div id="reviews">
                        <?php foreach ($threads as $thread) : ?>
                        <div class="review">
                            <div class="avatar"><a href="https://www.formazioneturismo.com/forums/index.php?threads/<?=strtolower(sanitize_title($thread['title']))?>.<?=get_field('id_discussione_forum')?>/" rel="nofollow"><img src="https://www.formazioneturismo.com/WordPress-content/themes/FT/img/icon.png" /></a></div>
                            <div class="author"><a href="https://www.formazioneturismo.com/forums/index.php?members/<?=strtolower($thread['username']).".".$thread['user_id']?>/" rel="nofollow"><?=$thread['username']?></a> ha scritto</div>
                            <div class="text"><?=$thread['message'];?></div>


                            
                            
                            
                            
                            
                        </div>
                        <?php endforeach; ?>
                    </div>
                    <?php if (get_field('url_discussione_forum')) : ?><div class="clearfix"><a href="<?=get_field('url_discussione_forum')?>" class="btn" rel="nofollow" target="_blank">Vai alle discussioni</a></div><?php endif; ?>
                    <?php else : ?>
                    <p>Nessuna discussione su questo corso</p>
                    <div class="clearfix"><a href="http://www.formazioneturismo.com/forums/" class="btn" rel="nofollow" target="_blank">Vai al forum</a></div>
                    <?php endif; ?>
                </div>

Successivamente mi ha detto prova ad inserire questa funziona nel functions.php e "traduci" le varie stringhe.. Il codice è il seguente:

Codice:
<?php
/**
* A simple PHP BBCode Parser function
*
* @author Afsal Rahim
* @link http://digitcodes.com/create-simple-php-bbcode-parser-function/
**/
//BBCode Parser function
function showBBcodes($text) {
    // BBcode array
    $find = array(
        '~\[b\](.*?)\[/b\]~s',
        '~\[i\](.*?)\[/i\]~s',
        '~\[u\](.*?)\[/u\]~s',
        '~\[quote\](.*?)\[/quote\]~s',
        '~\[size=(.*?)\](.*?)\[/size\]~s',
        '~\[color=(.*?)\](.*?)\[/color\]~s',
        '~\[URL\]((?:ftp|https?)://.*?)\[/URL\]~s',
        '~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s'
    );
    // HTML tags to replace BBcode
    $replace = array(
        '<b>$1</b>',
        '<i>$1</i>',
        '<span style="text-decoration:underline;">$1</span>',
        '<pre>$1</'.'pre>',
        '<span style="font-size:$1px;">$2</span>',
        '<span style="color:$1;">$2</span>',
        '<a href="$1">$1</a>',
        '<img src="$1" alt="" />'
    );
    // Replacing the BBcodes with corresponding HTML tags
    return preg_replace($find,$replace,$text);
}
// How to use the above function:
$bbtext = "This is [b]bold[/b] and this is [u]underlined[/u] and this is in [i]italics[/i] with a [color=red] red color[/color]";
$htmltext = showBBcodes($bbtext);
echo $htmltext;
?>

Hai qualche idea su come risolvere?
 

Kintaro

Custode del Forum
Licenza Verificata
Punteggio reazioni
136
Punti
70
$thread['message'] contiene il testo da convertire. Quindi una volta inserita quella funzione in functions.php dovrai modificare il codice in modo che venga chiamata la funzione showBBcodes per $thread['message'] così te la converte.

tipo sostituire:
<?=$thread['message'];?>
con
<?=showBBcodes($thread['message']);?>

(probabilmente il ; è inutile)
 

Jonathan_Biasella

Admin XenForo
Licenza Verificata
Punteggio reazioni
2
Punti
30
Ciao, grazie per la risposta. Ho provato come hai detto, ma non cambia proprio nulla
Ho risolto modificando così:

PHP:
//BBCode Parser function
function showBBcodes($text) {
    // BBcode array
    $find = array(
        '~\[B\](.*?)\[/B\]~s',
        '~\[i\](.*?)\[/i\]~s',
        '~\[U\](.*?)\[/U\]~s',
        '~\[QUOTE\](.*?)\[/QUOTE\]~s',
        '~\[SIZE=(.*?)\](.*?)\[/SIZE\]~s',
        '~\[COLOR=(.*?)\](.*?)\[/COLOR\]~s',
        '~\[URL=(.*?)\](.*?)\[/URL\]~s',
        '~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s'
    );
    // HTML tags to replace BBcode
    $replace = array(
        '<b>$1</b>',
        '<i>$1</i>',
        '<span style="text-decoration:underline;">$1</span>',
        '<pre>$1</'.'pre>',
        '<span style="font-size:$16px;">$2</span>',
        '<span style="color:$1;">$2</span>',
        '<a href="$1">$1</a>',
        '<img src="$1" alt="" />'
    );
    // Replacing the BBcodes with corresponding HTML tags
    return preg_replace($find,$replace,$text);
}
?>


Scrivendo i TAG BBcode in maiuscolo

Ora unica cosa, sono i link che non linkano, vengono presi come testo normale
 

Per rispondere Entra o Registrati è Gratis…

Perchè dovresti Registrarti?

  • Partecipare e Creare Discussioni
  • Trovare Consigli e Suggerimenti
  • Condividere i tuoi Interessi
  • Informarti sulle Novità

Membri Iscritti online

Non ci sono Iscritti online al momento.

Nuove Discussioni

Ultimi Messaggi sui Profili

webhooks! webhooks! webhooks! webhooks!
sono l'unico ad odiare e disabilitare i messaggi di profilo?!?

Discussioni Simili

Alto