Salu2 eloi!! cuanto tiempo sin pasarme por aqui... Esto ha mejorado mucho ;)
Bueno... php5 me salta algunas advertencias al procesar los arrays (no encuentra indices del array que se usa para separar el texto que se quiere cortar). Esto me sucede tanto con textos inferiores al tamaño maximo como superiores.
Me he calentado la cabeza buscando otros script por la web y al final he decidido hacer uno. Ahí va:
000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
|
<? function cortarTexto($texto) { $tamano = 50; // tamaño máximo $textoFinal = ''; // Resultado // Si el numero de carateres del texto es menor que el tamaño maximo, // el tamaño maximo pasa a ser el del texto if (strlen($texto) < $tamano) $tamano = strlen($texto); for ($i=0; $i <= $tamano - 1; $i++) { // Añadimos uno por uno cada caracter del texto // original al texto final, habiendo puesto // como limite la variable $tamano $textoFinal .= $texto[$i]; } // devolvemos el texto final return $textoFinal; }
|
Para utilizarlo
000 001 002
|
<? echo cortarTexto("cadena de texto"); ?>
|
Por lo que he ido probando me funciona bien pero no descarto que tenga algun fallo. Algo que destacar es que si la variable
$tamano es demasiado elevada, del orden de miles, se ejecuta un bucle durante ese numero de veces. Un numero muy elevado podria suponer que el proceso se relentizara, "supongo que nunca de forma excesiva".
Un saludo.