Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Funzione "substr"

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178

    Funzione "substr"

    In un mio sito inizio ad avere problemi di visualizzazione quando alcune stringhe sono eccessivamente lunghe.
    Non posso impedire che lo siano sia chiaro, perchè nella fattispecie ho una tabella dove vengono visualizzati i titoli degli ultimi 5 post del mio forum.

    Pensavo di fare una cosa del genere:
    codice:
    $sql = "SELECT topic_title, topic_id, topic_views, topic_replies 
    				FROM " . $_CONFIG['topic_table'] . "
    			    ORDER BY topic_id DESC
    				LIMIT 5";
    			    $result = mysql_query($sql);
                    while ($row = mysql_fetch_array($result))
                    {$row['topic_title'] = substr($row['topic_title'], 0, 40);
                   echo "<a title='Topic visitato $row[topic_views] volte. $row[topic_replies] replies.' href=\"$_CONFIG[forum_path]/viewtopic.php?t=$row[topic_id]\" target=\"_blank\">$row[topic_title]</a>
    ";}
    Avete un metodo migliore da consigliarmi?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ciao. Prova questa.
    codice:
    <?php
    function tronca($str,$len) {
    preg_match("/^(?=(.{{$len},}?\b))/s",$str,$mth1); 
    return $mth1[1].'...';
    }
    
    $lunghezza = 20; // visualizza 20 caratteri e arrotonda per eccesso all'ultima parola
    $testo = "questo è il titolo del mio lungo post";
    $testo = strlen($testo) > $lunghezza ? tronca($testo,$lunghezza) : $testo;
    echo $testo;
    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    178
    Wow bella, la provo subito, e dopo il ternario ci aggiungo pure ".." alla fine del titolo.
    Professionale.
    [OT] Grazie, un giorno di questi a zi ru pigliemmu un caffè? Te lo devo :P [/OT]

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Chierico80
    Wow bella, la provo subito, e dopo il ternario ci aggiungo pure ".." alla fine del titolo.
    Professionale.
    [OT] Grazie, un giorno di questi a zi ru pigliemmu un caffè? Te lo devo :P [/OT]
    I puntini ci sono già nella funzione.
    Per il caffè (e ammazzacaffe ) volentieri.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.