Visualizzazione risultati 1 fino 5 di 5

Discussione: [help] riduzione testo incompleta

  1. #1
    L'avatar di fabrifibra
    fabrifibra non è connesso Utente giovane
    Data registrazione
    05-06-2006
    Messaggi
    51

    Unhappy [help] riduzione testo incompleta

    ragazzi sul mio sito sto facendo una lista di programmi...
    la lista mostra i 10 programmi piu scaricati, quindi ordinati per "count" che è la colonna che contiene il numeri di click del download...ok?

    ecco...

    io per fare ciò faccio cosi
    Codice PHP:
    <?
    risultato
    =mysql_query("SELECT * FROM programmi ORDER BY count DESC LIMIT 0, 10");
    while(
    $result=mysql_fetch_array($risultato)){
    include
    "text_reducer_2.php";
    echo
    "<a href=\"programma/{$result['name']}_{$result['id']}.html\">".$testo_mostrato_tit."</a><br><br>";
    }
    ?>
    il file text reducer...contiene l applicazione php che tronca il testo...
    ed è compilato cosi..

    Codice PHP:
    <?
    $testo_tit
    = "{$result['titolo']}";
    $n = 25;
    if(
    strlen($testo_tit) > $n){ // controlla se è veramente lunga più di 25 lettere
    $offset = 0;
    $testo_mostrato_tit = "";
    while( (
    $p = strpos($testo_tit," ",$offset) ) !== false ){
    if(
    $p > $n){ // se la lunghezza è raggiunta
    $testo_mostrato_tit = substr($testo_tit,0,$offset-1);
    break;
    }else
    $offset++;
    }
    $testo_mostrato_tit.= "...";
    }else
    $testo_mostrato_tit = $testo_tit; ?>
    perche ad esempio "Ad-Aware SE Personal Edition 1.06" me lo taglia in "Ad-Aware SE Personal...", quindi in modo corretto...mentre "Calling ID Toolbar 1.6.0.1" me lo mostra solo cn i puntini "..."

    dovrebbe mostrare "Calling ID Toolbar..."

    ditemi come risolvere...e perchè si comporta cosi perfavore

    grazie tante <3

    EDIT: HO RISOLTO IN PARTE CAMBIANDO "Spybot Search & Destroy 1.5" IN "Spybot Search &amp; Destroy 1.5" ...COSI QUESTO NN DA PIU PROBLEMI...MENTRE "Calling ID Toolbar 1.6.0.1" PERSITE...CREDO SIA COLPA DELLA SEPARAZIONE...A CAUSA DEI PUNTI...
    Ultima modifica di fabrifibra : 04-03-2008 alle ore 02.23.52

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    non mi piace molto il metodo a dire il vero, e andrebbe fatto in una funzione non in un include. Come vuoi fare esattamente ? troncare al primo spazio prima del 25° carattere? Forse conviene allora troncare con substr() a 25, poi cercare all'indietro il primo spazio e troncare nuovamente, aggiungendo i puntini. Avendo controllato in anticipo che ci sia almeno uno spazio nei primi 25 ovviam.

  3. #3
    L'avatar di fabrifibra
    fabrifibra non è connesso Utente giovane
    Data registrazione
    05-06-2006
    Messaggi
    51

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    non mi piace molto il metodo a dire il vero, e andrebbe fatto in una funzione non in un include. Come vuoi fare esattamente ? troncare al primo spazio prima del 25° carattere? Forse conviene allora troncare con substr() a 25, poi cercare all'indietro il primo spazio e troncare nuovamente, aggiungendo i puntini. Avendo controllato in anticipo che ci sia almeno uno spazio nei primi 25 ovviam.
    non son esperto, mi son arrangiato cosi scopiazzando qua e là...
    nn ci capisco nulla

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    La domanda di Dreadnaut è: cosa vorresti fare di preciso? Rispondi così che qualcuno ti possa dare una mano. Rileggi la sua domanda e rispondi.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da fabrifibra Visualizza messaggio
    ragazzi sul mio sito sto facendo una lista di programmi...
    ditemi come risolvere...e perchè si comporta cosi perfavore
    Si comporta così perché il tuo codice è marcio. Usa questo:

    Codice PHP:
    $risultato=mysql_query("SELECT * FROM programmi ORDER BY count DESC LIMIT 0, 10");
    while(
    $result=mysql_fetch_array($risultato)) {
    $testo_mostrato_tit = text_reducer_2($result['titolo']);
    echo
    "<a href=\"programma/{$result['name']}_{$result['id']}.html\">".$testo_mostrato_tit."</a><br><br>";
    }

    function
    text_reducer_2($text) {
    $n = 25;
    $offset = 0;

    if (
    strlen($text) > $n) {
    $text = substr($text, 0, $n);
    if ((
    $p = strrpos($text, ' ')) !== false) $text = substr($text, 0, $p);
    $text .= '...';
    }

    return
    $text;
    }

    ?>


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •