Very short snippet: PHP word cut

Domenica 21 Settembre, 2008

Delimita una porzione di testo per il numero di "parole":

PHP:
  1. /**
  2. * String word cut
  3. *
  4. * @private
  5. */
  6. function wordCut($c, $l){
  7.     $c= explode(' ',$c);
  8.     for($i=0; $i<$l; $i++) $r[$i] = $c[$i];
  9.     $r= implode(' ', $r).'...';
  10.     return $r;
  11. }

Post correlati

8 commenti a: “Very short snippet: PHP word cut”

  1. getAvatar 1.0 Domenica 21 Settembre, 2008 alle 19:55
    Tom ha detto:

    Dai 2 righe per un esempiuccio potevate farle. :)

  2. getAvatar 1.0 Domenica 21 Settembre, 2008 alle 22:55
    Napolux ha detto:

    La mia tagliaStringa($stringa,$numParole) è un po’ diversa… Non uso due array, ma costruisco la stringa inserendo le parole man mano in una variabile, tagliando poi l’ultimo spazio e aggiungendo i tre puntini…

    Che dici?

  3. getAvatar 1.0 Lunedì 22 Settembre, 2008 alle 13:03
    Giulio ha detto:

    Grazie! Carpita e usata…

  4. getAvatar 1.0 Lunedì 22 Settembre, 2008 alle 13:06
    Napolux ha detto:

    LOL!

  5. getAvatar 1.0 Lunedì 22 Settembre, 2008 alle 14:12
    Giovambattista Fazioli ha detto:

    @Tom: oddio, un esempio per una funzione “taglia stringhe” è un po’ eccessivo… :) Tuttavia, ad esempio, la puoi usare per:

    $res = wordCut( 'Stringa di esempio abbastanza lunga per essere tagliata', 5 );
    

    Otterai in $res:

    Stringa di esempio abbastanza lunga...
  6. getAvatar 1.0 Lunedì 22 Settembre, 2008 alle 14:29
    Giovambattista Fazioli ha detto:

    @Napolux: ho cercato invano la tua funzione sul tuo blog… cmq anche così andrebbe bene:

    function wordCut($c, $l){
    	$c= explode(' ',$c);
    	for($i=0; $i< $l; $i++) $r[$i] = ($i==0)?$c[$i]:(' '.$c[$i]);
    	return ($r.'...');
    }
    

    Nota la “chicca” per non preoccuparsi di eliminare lo spazio in più :)

  7. getAvatar 1.0 Lunedì 22 Settembre, 2008 alle 14:32
    Giovambattista Fazioli ha detto:

    @Giulio: prego caro! Anche se nessuno si è accorto che per grandi stringhe la funzione corretta sarebbe:

    function wordCut($c, $l){
    	$a= explode(' ',$c);
    	if( count($a) > $l) {
                for($i=0; $i< $l; $i++) $r[$i] = $a[$i];
    	    $r= implode(' ', $r).'...';
    	    return $r;
            } else return $c;
    }
    

    :P

  8. getAvatar 1.0 Martedì 07 Ottobre, 2008 alle 19:03
    Badoux C. ha detto:

    Je n’en dirai pas plus:

    http://fr.php.net/manual/fr/function.substr.php

    et pour finir un exemple:

    http://www.destrucsaweb.com/ressources/phpmyannu/goto_38.php

    A+

Lascia un commento

TAG XHTML permessi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Usa <pre> per racchiudere codice