Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    troncare testo alla fine di una parola

    ciao a tutti, vi propongo un problema che mi assilla da un po'...

    in un sito visualizzo in homepage alcuni articoli, per non "uscire" dalla grafica però devo limitare la loro lunghezza a un tot di caratteri e fin qui non ho avuto problemi usando la funzione substr().

    Però il risultato è un po' bruttino in quanto spesso vengono tagliate a metà le parole... volevo sapere se esiste una funzione o un modo per far si che questo non succeda...

    ovvero se io ho questo testo

    tizio caio sempronio
    e impongo il limite a 10 caratteri non visualizzi
    tizio ca
    ma
    codice:
    tizio caio
    e poi tronchi...


    non so se mi sono spiegato, ma spero capiate

    grazie mille!

  2. #2
    help!


  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    io faccio cosi:
    codice:
    $text="frase di prova";
    //     12345678901234
    $newtext = wordwrap($text, 8, " ")."...";
    occhio che la funzione wordwrap ha un bacherozzo nelle vecchie versioni di php...

    ciao

  4. #4
    ho trovato anch'io questa funzione però, così facendo non mi tronca tutte le parole con più di 8 caratteri?? :master:

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    scusa ho cannato...

    facevo cosi:

    codice:
    $text="frase di prova";
    //     01234567890123
    $newtext = wordwrap($text, 6, "*");
    $nuovotesto=explode("*",$newtext);
    echo $nuovotesto[0];
    in pratica wordwrap separa la frase dopo il termine della parola che si trova all'indice passato, e sostituisce lo spazio tra quella parola e la successiva con il carattere passato.
    Quindi, conta fino al sesto carattere e trova il carattere 'd', continua fino alla fine di questa parola e sostituisce il carattere di spazio alla posizione 8 con il carattere che abbiamo passato noi (*), a questo punto hai una stringa che al termine della parola che incontra ogni 6 caratteri ha un asterisco.
    Puoi usarlo cosi come divisore per explode (dando per scontato che l'asterisco nn fosse presente nella tua stringa).

    Prendendo quindi il primo parametro dell'array restituito da explode avrai quindi "testo di"

    ciao

  6. #6
    capito! stasera ci provo!

    grazie mille!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.