Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá...
Abaixo uma função que permite resumir um texto à quantidade de caracteres especificados, sem cortar palavras ao meio. Talvez seja de utilidade, afinal, quem nunca precisou de algo assim.
PHP
function resumo($string,$chars) { if ([strlen](http://br.php.net/strlen)($string) > $chars) {
$var='0';
while($var == '0'){
if( ([substr](http://br.php.net/substr)($string,$chars,1)) == ' '){
$var='1';
} else{
$chars++;
}
}
}
return [substr](http://br.php.net/substr)($string,0,$chars);
}
Uso:
<?=resumo('Maria gosta de comer maça',10)?>
Se alguém achar erros, por favor avise-me... T+ galera
T+ galera
excelente.... função que toda a gente eventualmente precisa :D Boa participação
e se quiser que corte a palavra se a primeira palavra for maior que o $chars ?
Antes tarde do que nunca ^_^ :
Acredito que você já tenha descoberto Ricardo, mas apenas para deixar registrado, para cortar a palavra se a primeira palavra for maior que o $chars, basta mudar a linha $chars++; por $chars--;
É isso, e valeu pelo código Alex!
tinha resolcido não cara, na verdade tentei mil coisas e não deram certo, até deram, mas ficaram muito lentas...
vou testar...
valeu
Fala Alex olha só voce já tentou colocar ex: <?=resumo('bla bla',130)?> "130" caracteres?
Se você coloca acima de 99 o codigo buga :P
Espero estar contribuindo :P
Mais essa funcao deu uma salvada aqui...
Um Salve pra voces :P
Fuiz.!
=========================================
Edit: com o $chars--; assim resolve também o probleminha de quantidade acima... tosc tosc malz..! :)
Hugg!!.. Bye!.
A função inicial entra em loop infinito em algumas situações. Deixo aqui uma versão melhorada:
function resumo($string,$chars) {
if (strlen($string) > $chars) {
while (substr($string,$chars,1) <> ' ' && ($chars < strlen($string))){
$chars++;
};
};
return substr($string,0,$chars);
};
tudo que eu precisava...valeu !