[PHP] Recortar Frase

on martes, 2 de julio de 2013
Bueno muchas veces hemos visto o hemos querido hacer uso de algo como esto que es simplemente que no se muestre todo el texto de una frase sino hasta un cierto limite, esto lo vi en un grupo de facebook en el que estoy aunque la persona que lo publico su codigo no limpiaba realmente los espacios que hubiera entre palabras.

Ejemplo:
'  hola                   amigo              como estas ;D  '

Retornaba:
hola ...





Indicandole que queriamos un limite de 20, y no nos retornaba mas que espacios :/
Su codigo original era este:


<?php
function recortar_texto($texto, $limite=100){  
    $texto = trim($texto);
    $texto = strip_tags($texto);
    $tamano = strlen($texto);
    $resultado = '';
    if($tamano <= $limite){
     
       
        return  $texto;
    
    }else{
        $texto = substr($texto, 0, $limite);
        $palabras = explode(' ', $texto);
        $resultado = implode(' ', $palabras);
        $resultado .= '...';
    }  
    return $resultado;
}
?>


Ahora aqui muestro mi solucion, la cual si limpia esos espacios vacios y me muestra un: hola amigo como esta ...
<?php
function recortar_texto2( $texto, $limite = 100 )
{
 $texto = explode(' ', strip_tags(trim($texto)));
 $ntexto = '';
 for($i = 0; $i < count($texto); $i++)
  if(strlen($texto[ $i ]) != 0)
   $ntexto .= $texto[ $i ] . ' ';
 if(strlen($ntexto) <= $limite)
  return $ntexto;
 return substr($ntexto, 0, $limite) . ' ...';
}
?>
Bueno eso es todo ahi puede ser usado en sus proyectos si es que es necesario, tambien hay otras formas de hacerlo, pero por el momento esta es la que yo hubiese seleccionado o hecho :P Saludos*!

0 comentarios:

Publicar un comentario