Script php: Tagliare stringa a n caratteri senza troncare parole
difficoltà:

Script simili
26/10/2006
Con questa funzione potremo tagliare una stringa, visualizzandone un numero massimo di caratteri, senza però tagliare le parole a metà, ma visualizzando il testo fino all'ultima parola intera. Questo script risulta utile per visualizzare titoli o brevi descrizioni di articoli prelevandone solo parte del testo.
Con questa funzione in pratica preleveremo la parte della stringa tagliata fino all'ultimo spazio, non tagliando così le parole.
function TagliaStringa($stringa, $max_char){
if(strlen($stringa)>$max_char){
$stringa_tagliata=substr($stringa, 0,$max_char);
$last_space=strrpos($stringa_tagliata," ");
$stringa_ok=substr($stringa_tagliata, 0,$last_space);
return $stringa_ok."...";
}else{
return $stringa;
}
}
I valori passati alla funzione sono la stringa da tagliare e il numero massimo di caratteri consentito.Utilizzo:
$stringa = "Questa stringa verrà tagliata mantenendo le parole intere";
$stringa_tagliata = TagliaStringa($stringa, 40);
Permalink:
Tag:
Script Simili:
Script asp: Eliminare caratteri non alfanumerici da una stringa
Script php: Dividere il testo in due colonne
Script php: Sistemare una stringa per url
Script asp: Prelevare campi di un form senza conoscerne il nome
Link utili:
Vota:
Commenti
26/8/2008 17:51:42
GoodWeb
ottimo script, ma nel caso in cui nel mio testo sussistono dei <tag> come posso individuarene l'ultimo e quindi troncarlo prima del <.
il mio problema è che nel testo ho anche degli <span> che danno uno stile al testo e quindi non chiudendoli mi ritorna errore il contrllo w3c.
grazie
22/3/2009 22:57:35
Ottima funzione grazie mille ti ho postato nel mio blog al seguente link
http://elektrojoke.blogspot.com/2009/03/script-php-tagliare-stringa-n-caratteri.html
28/4/2009 18:00:25
Nel caso in cui il testo contenga dei tag html bisogna fare in modo di riconoscerli attraverso delle regular expressions, metterli da parte in un array e poi richiuderli alla fine. Qui:
http://web2.otto.to.it/abidibo/index.php?evt[blog-viewList]&id=28
potete trovare una funzione che fa tutto questo e molto di più. Ho provato a commentarla intensamente in modo da permetterne facili modifiche o adattamenti. Tra l'altro all'interno del post viene richiamato anche un post piu' vecchio dove la (quasi) stessa funzione veniva spiegata passo a passo. Spero possa esservi utile. Ciao!
3/5/2009 19:04:16
a me non funziona!
3/5/2009 19:06:10
<?php
function TagliaStringa($stringa, $max_char)
{
if(strlen($stringa)>$max_char)
{
$stringa_tagliata=substr($stringa, 0,$max_char);
$last_space=strrpos($stringa_tagliata," ");
$stringa_ok=substr($stringa_tagliata, 0,$last_space);
return $stringa_ok."...";
}else{
return $stringa;
}
}
$stringa = "Questa stringa verrà tagliata a meno che no ci sia il pippo che rompe le palle!....2che no ci sia il pippo che rompe le palle...";
$stringa_tagliata = TagliaStringa($stringa, 40);
echo $stringa;
visualizzo tutto che sono piu di 40 caratteri.
3/5/2009 19:08:31
errore da novato!
echo $stringa;
no!!!
echo $stringa_tagliata;
sorry a tutti!!!
1/12/2009 0:00:35
Grazie, molto utile. La uso spesso per l'anteprima delle news.
29/6/2010 10:29:20
Grazie, mi hai risparmiato un pò di lavoro inutile....funziona perfettamente
;-)
1/7/2010 10:24:06
Grazie mille, utile e perfettamente funzionante.
Piccolo consiglio: fate attenzione che il testo da tagliare sia "pulito", cioè sia davvero una stringa di testo. Ho avuto dei problemi con del testo copiato/incollato da word che quindi conteneva fastidiosi tag che impallavano la funzione

Feed Rss
11/10/2007 12:10:51
... e se volessi tagliare la stringa all'inizio e alla fine con all' interno una determinata parola (ad es. un termine di ricerca) ???