Visualizzazione risultati 1 fino 4 di 4

Discussione: Tagliare testo dopo x caratteri senza troncare le parole

  1. #1
    Guest

    Predefinito Tagliare testo dopo x caratteri senza troncare le parole

    Allora. Io ho un testo:
    Codice:
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi fermentum pede eu nibh. Suspendisse vel lorem vel est rutrum imperdiet.
    e vorrei che mi venga restituito un testo non più lungo di mettiamo 35 caratteri ma non voglio nemmeno che mi venga troncata la parola. Se uso
    Codice PHP:
    <?php
    $txt
    ="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi fermentum pede eu nibh. Suspendisse vel lorem vel est rutrum imperdiet.";

    echo
    substr($txt,0,35);
    ?>
    mi restituisce giustamente
    Codice:
    Lorem ipsum dolor sit amet, consect
    Io vorrei che lui mi restituisse
    Codice:
    Lorem ipsum dolor sit amet,
    (non "Lorem ipsum dolor sit amet, consectetuer" perchè sono più di 35 caratteri) e il consectetuer ecc. continui in un'altra pagina (li mi sistemo io).

    Sapete come risolvere?

  2. #2
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Se sai usare le reg exp, potresti poter usare split, che ti divide, in base al pattern, in array tutte le parole...

  3. #3
    Guest

    Predefinito

    Ho risolto!
    Codice PHP:
    <?php
    $limit
    =35;
    $txt="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi fermentum pede eu nibh. Suspendisse vel lorem vel est rutrum imperdiet.";

    while(
    $txt[$limit]!=" ")$limit--;

    echo
    substr($txt,0,$limit);
    ?>
    Ho usato un ciclo while. Finchè non trova il carattere spazio fa scendere il limite di 1. Quando finalmente trova quel carattere può eseguire il suo substr senza troncare la parola.

    EDIT: Mi ero illuso.. La prima pagina va bene ma le altre no. Lo script che mi servirebbe è scaricabile da qui: http://allo.altervista.org/dummy.zip

    Se riuscite a dargli un'occhiata e vedere cosa non va....
    Ultima modifica di allo : 16-07-2006 alle ore 19.11.34

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    No problem, stiamo parlando di PHP, e "lui" queste funzioni di comune utilità le ha previste, basta solo conoscerne il nome.
    In questo caso genericamente il concetto di "andare a capo" in inglese si chiama "wrap" (text wrap o word wrap) e infatti c'è proprio la funzione wordwrap() con i suoi bravi parametri:
    http://www.php.net/manual/it/function.wordwrap.php

    In due parole, gli dai un numero di larghezza in caratteri entro il quale mandare a capo la riga, gli dici quale stringa usare (di default è \n ma è più utile indicare "<br />\n" ), nel caso ci fosse una parola lunghissisa SPEZZA comunque ai tot caratteri di larghezza.
    Basta che ti leggi uno degli esempietti e capisci al volo.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

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