Tallar text dinàmicament sense tallar paraules

Aquí us deixo un altre aportació. Aquesta es la típica funcion per tallar text a un determinat numero de caràcters però, amb la peculiaritat de que aquesta funció no talla paraules.

Per utilitzar-la, nomes teniu que indicar-li en la variable $text el text a tallar i a la variable $numMaxCaract el numero màxim de caràcters que necessiteu mostrar. Quan la funció de tallar text arribi a aquest numero, el que farà es buscar el últim espai (dintre del numero màxim de caràcters indicat) i tallara el text en aquest espai en concret.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function tallarText($text, $numMaxCaract){
	if (strlen($text) <  $numMaxCaract){
		$textTallat = $text;
	}else{
		$textTallat = substr($text, 0, $numMaxCaract);
		$ultimEspai = strripos($textTallat, " ");
 
		if ($ultimEspai !== false){
			$textTallatTmp = substr($textTallat, 0, $ultimEspai);
			if (substr($textTallat, $ultimEspai)){
				$textTallatTmp .= '...';
			}
			$textTallat = $textTallatTmp;
		}elseif (substr($text, $numMaxCaract)){
			$textTallat .= '...';
		}
	}
 
	return $textTallat;
}

Afegir que, si en el text indicat a tallar, no hi ha espais, la funció tallara el text en el numero màxim de caràcters indicat.

Com podeu veure, la funció es fàcil de comprendre, depura i personalitzar. Desitjo que us sigui de utilitat. Qualsevol dubte, feu-la en la secció de comentaris e intentaré respondre-la el mes aviat possible.

Deixa un comentari

L'adreça electrònica no es publicarà Els camps necessaris estan marcats amb *