Weikm@n 0 Denunciar post Postado Dezembro 24, 2009 Olá a todos, gostaria q melhorar esse codigo, function resumo($string,$chars) { if (strlen($string) > $chars) { $var='0'; while($var == '0'){ if( (substr($string,$chars,1)) == ' '){ $var='1'; } else{ $chars++; } } } return substr($string,0,$chars); } <?php echo resumo(('texto aki'),20) ?> peguei ele aki no site mesmo, no http://forum.imasters.com.br/index.php?/topic/197740-funcao-de-resumo/ ele serve pra reduzir o texto sem corta a palavra, porem ele nao adiciona os 3 pontinhos, gostaria de saber como faço essa alteracao para q o codigo funcione. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Daniel-DF 0 Denunciar post Postado Dezembro 24, 2009 Esse aqui eu tb peguei aqui no forum. testa ai <?php $texto = "O rato roeu a roupa do rei de Roma."; $texto = explode(" ", substr($texto, 0, 25)); if(count($texto) > 1) array_pop($texto); $texto = implode(" ", $texto)."..."; echo $texto; // retorna: O rato roeu a roupa do... ?> Compartilhar este post Link para o post Compartilhar em outros sites
Weikm@n 0 Denunciar post Postado Dezembro 24, 2009 Olah amigo, essa funcao nao corta a palavra no meio, entretando se o meu texto tiver somente 10 caracteres e o limite for 20, ele mostra do mesmo jeito os 3 pontinhos, e o q eu quero eh q somente apareça se ultrapassar o limite, entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
RobertoPC 0 Denunciar post Postado Dezembro 24, 2009 Assim: <?php function resumo($string,$chars) { if(strlen($string) > $chars) { $string = trim(substr($string,0,$chars)); $string .= "..."; } return $string; } echo resumo("O rato roeu a roupa do rei de roma",20); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Weikm@n 0 Denunciar post Postado Dezembro 24, 2009 RobertoPC, esse codigo jah conhecia, mas ele corta a palavra, o q eu postei lah em cima nao corta, mas nao mostra os 3 pontinhos, nao tm como soh acrecentar os tres pontinhos se passar do limite? e nao acrescentar caso nao passe do limite. Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
RobertoPC 0 Denunciar post Postado Dezembro 26, 2009 Hummm, entendi. O corta palavra que você diz é ser for uma palavra "exemplo" e na hora imprimir "exem". Se for isso tá aew a modificação no código: <?php // Função antiga function resumo1($string,$chars) { if(strlen($string) > $chars) { $string = trim(substr($string,0,$chars)); $string .= "..."; } return $string; } // Função nova function resumo2($string,$chars) { if(strlen($string) > $chars) { $string_aux = substr($string,$chars); $string = substr($string,0,$chars); $string_split = str_split($string_aux); $c = 0; while($c<=count($string_split)){ if($string_split[$c] == " "){ break; } $string .= $string_split[$c]; $c++; } $string .= "..."; } return $string; } echo resumo1("O rato roeu a roupa do rei de roma",17); echo"<br>"; echo resumo2("O rato roeu a roupa do rei de roma",17); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Weikm@n 0 Denunciar post Postado Dezembro 27, 2009 Pow RobertoPC! Eh isso Ae! codigo do jeito q eu tava querendo, pw mano, flw mesmo! Compartilhar este post Link para o post Compartilhar em outros sites