Come si taglia una stringa in Php

Ho una descrizione con del testo che eccede in una pagina del mio sito e vorrei tagliare fino ad un certo numero di caratteri.

Come fare?

-

Quando abbiamo del testo, ad esempio in una descrizione di un oggetto è buona norma voler troncare tale descrizione ad una certa lunghezza di caratteri, pensate ad una descrizione lunga all'interno di un div che a causa della lunghezza dei caratteri crea brutta armonia di linee nella pagina del sito, potrebbe essere utile alle volte troncare e inserire un link al testo completo in un'altra pagina del sito.

Vediamo un esempio di come può apparire una serie di contenitori div con del testo e dimensioni non armoniche:

overflow_stringa_div

Overflow di una stringa

Nel caso si volesse lasciare tutto il testo ma ridefinire le misure dei div ad una certa dimensione uguale per tutti, allora è possibile applicare una regola css per nascondere il testo entro certi parametri di altezza e lunghezza, ad esempio utilizzando:

.overflow-auto {
 overflow: auto !important;
}


.mioDiv{		
	width: 200px; 
	height:100px;
	border: 1px solid #410304
}

e il div

<div class="mioDiv overflow-auto">

Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.

</div>
	

In questo il testo sarà scorrevole all'interno del div senza compromettere le misure di altezza e larghezza come in figura:

Come-si-taglia-una-stringa-in-Php

Tagliare una stringa in Php

Ma veniamo a come tagliare il testo utilizzando delle funzioni di Php

Ipotiziamo di aver un campo descrizione in un database e richiamare i dati memorizzandoli all'interno di una variabile che chiameremo $stringa

$stringa = 'Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.';

per poter taglie la stringa alla lunghezza desiderata creiamo una funzione TagliaStringa()

function TagliaStringa($stringa, $car_massimi){
	
		if(strlen($stringa)>$car_massimi){
			
			$stringa_tagliata = substr($stringa, 0, $car_massimi);
			
			$ultimo_spazio = strrpos($stringa_tagliata," ");
			
			$stringa_ok = substr($stringa_tagliata, 0, $ultimo_spazio);
			
			return $stringa_ok."...<a href=#>Leggi Tutto</a>";
			
		}else{
			return $stringa;
		}
	}
	
$stringa_tagliata = TagliaStringa($stringa, 140);

dove $stringa conterrà la stringa e $max_char sarà un numero intero relativo alla lunghezza dei caratteri compresi gli spazi, es: TagliaStringa($stringa, 140);

Il nostro codice per intero:

	$stringa = 'Lorem Ipsum è un testo segnaposto utilizzato nel settore della tipografia e della stampa. Lorem Ipsum è considerato il testo segnaposto standard sin dal sedicesimo secolo, quando un anonimo tipografo prese una cassetta di caratteri e li assemblò per preparare un testo campione. È sopravvissuto non solo a più di cinque secoli, ma anche al passaggio alla videoimpaginazione, pervenendoci sostanzialmente inalterato. Fu reso popolare, negli anni ’60, con la diffusione dei fogli di caratteri trasferibili “Letraset”, che contenevano passaggi del Lorem Ipsum, e più recentemente da software di impaginazione come Aldus PageMaker, che includeva versioni del Lorem Ipsum.';
	
 

function TagliaStringa($stringa, $car_massimi){
	
		if(strlen($stringa)>$car_massimi){
			
			$stringa_tagliata = substr($stringa, 0, $car_massimi);
			
			$ultimo_spazio = strrpos($stringa_tagliata," ");
			
			$stringa_ok = substr($stringa_tagliata, 0, $ultimo_spazio);
			
			return $stringa_ok."...<a href=#>Leggi Tutto</a>";
			
		}else{
			return $stringa;
		}
	}
	
$stringa_tagliata = TagliaStringa($stringa, 140);

 
	
echo '<h2>Risultato:</h2><br>'.$stringa_tagliata;

 

Prova anche tu!

 

 


 
Php
 


Lascia un commento