Essa é uma função muito usada quando você quer delimitar alguma frase ou texto que não possa "estourar" o layout.
<?php function setMaxCaracter($texto,$ max) {
$qtde = strlen(html_entity_decode($ texto));
$n = 0;
$i = $max;
if ($qtde > $max)
{
$palavras = explode(' ', $texto);
foreach ($palavras as $Palavra)
{
}
$texto = substr($texto, 0, $i).'...';
}
return $texto;
}
echo setMaxCaracter("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel odio ac ipsum blandit hendrerit. Morbi mattis fermentum ligula eget lobortis.","22");
?>echo setMaxCaracter("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel odio ac ipsum blandit hendrerit. Morbi mattis fermentum ligula eget lobortis.","22");
Vai dar o seguinte resultado:
"Lorem ipsum dolor sit..."
Cara uma maneira um pouco mais simples de fazer isso:
ResponderExcluirfunction cropString($sString,$nQntChar,$sFim){
if(strlen($sString) > $nQntChar){
$sString = substr($sString,0,$nQntChar);
$sString = substr($sString,0,strrpos($sString," ")).$sFim;
}
return $sString;
}
podes usar assim:
$string = "Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,Lorem ipsum dolor sit amet,Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet, Lorem ipsum dolor sit amet";
cropString($string, 30, "...");
output: Lorem ipsum dolor sit amet, Lo...
Acho que se você tiver um html com "iacute" ela pode dar problema! Mas nada que uns ajustes não arrumem também! hehe
ResponderExcluir