Esta es la función:
Código PHP:
function noticia($not,$tamano) {
$contador = 0;
$contador2 = 0;
$i = 0;
do{
if (strlen($not) <= $tamano) return $not;
if ($not[$contador2]=="<") $i = 1;
if ($not[$contador2]==">") $i = 0;
if ($i== 0) $contador++;
$contador2++;
}while(!(($contador > $tamano) && ($not[$contador2]==" ")));
$cadena = substr($not, 0,$contador2+1)."...";
if ($contador <= $tamano) return $not;
return $cadena;
}
Un ejemplo de noticia sería este:
"<span class="cxboxbody"> Scenes of valor and righteous might will meet your eyes if you peruse the online art gallery for <em>Champions of Valor.</em> You'll also see a few creatures and more when you take a look at the art that fills this <strong>Forgotten Realms </strong> supplement. </span><span class="cxboxbody"> </span>"
La funcion la he hecho para que no me corte una palabra, sino que continue hasta terminarla, pero no se que hacer cuando me deja una etiqueta sin cerrar. Tal vez exista un metodo directo, pero no lo he encontrado.
Gracias por adelantado.