• User Attivo

    Limite massimo del numero dei caratteri nel campo title e description

    Salve volevo sapere come inserire il limite del numero dei caratteri nei campi title e description, in qualche modo avevo risolto in questo modo:

    <? $description4=substr ($description2, 0, 160);
    echo $description4; ?>

    ma vorrei che non mi spezzasse le parole, esiste un altro modo che mi permetta di far u sicire intera l'ultima parola?
    Grazie


  • User Attivo

    Scusate il codice è questo:

    <? $description=str_replace("\r\n", "<br>", $row_1[descrizione]);
    $description2=strip_tags($description); $description3=substr ($description2, 0, 140); echo $description3; ?>

    quindi vorrei che non mi tagliasse l'ultima parola.


  • User

    Ribadisco sempre che mi limito a *sfruttare *il web e le sue risorse perchè non sono un esperto...però mi piace aiutare.:)
    Sicuramente le soluzioni che propongo possono non essere ottimali.

    [php]
    <?

    $descrizione = "Mi chiamo pippo e voglio limitare la seguente descrizione in tot caratteri senza però rompere le parole.
    Speriamo che funzioni e adesso controllerò di persona caricando questo file sul server di test.
    Colgo anche l'occasione per ringraziare l'autore dello script.
    Non so a quanti caratteri sono arrivato ma credo sia arrivata l'ora di mettere le virgolette";

    // Codice PHP Originale da Chirp Internet: chirp.com.au
    function myTruncate($string, $limit, $break=".", $pad="...")
    {
       if(strlen($string) <= $limit) return $string;
       
       if(false !== ($breakpoint = strpos($string, $break, $limit)))
       { 
          if($breakpoint < strlen($string) - 1)
          {
            $string = substr($string, 0, $breakpoint) . $pad;
          } 
       }
       return $string; 
    }
    

    $descrizione_corretta = myTruncate($descrizione, 140, " ");

    echo "<p>$descrizione_corretta</p>";

    ?>
    [/php]


  • User Attivo

    [....]
    Grazie, ma volendo sistemare il mio senza stravolgere tutto è possibile? Il codice da te postato lo avevo visto su un forum, funziona ma per implementarlo devo sconvolgere u n po' di cose.
    Grazie anticipatamente per il Vostro aiuto:ciauz:


  • User Attivo

    Ciao,
    utilizzando la soluzione che ti ha suggerito $BsW$ non devi sconvolgere praticamente nulla.

    Ti basta copiare la funzione così com'è ed inserirla nelle pagine o, per essere più ordinato ed efficiente nel caso ti serva modificarla, in un file php che andrai ad includere in ogni pagina.

    Poi ti basta sostituire questa porzione di codice:
    [php]
    $description3=substr ($description2, 0, 140);
    [/php]
    con questa:
    [php]
    $description3 = myTruncate($description2, 140, " ","");
    [/php]

    Alessandro


  • User Attivo

    [...]

    Grazie Alessandro, ho appena provato e funziona alla grande :sun::sun: