Diéssica 140 Denunciar post Postado Novembro 16, 2011 Cá estou eu de novo com a minha galeria de fotos. Agora estou montando com DIVs a área em que as fotos vão aparecer, e o título ficará do lado delas. Porém, como as imagens ficarão lado a lado precisarei limitar o título da foto se ele for muito grande para não ficar desproporcional. Gostaria de usar uma função que permite a limitação de caracteres com reticências. Vocês devem ter entedido, mas para ser mais clara: gostaria de transformar um título grande como "Abertura do evento do dia 10.03.2011" em "Abertura do event...", não exatamente com esse número de caracteres. O código que desejo aplicar a função é este: <?php echo $row_rsFotos['Desc']; ?> Esse é o título da imagem e gostaria de limitar os caracteres caso ele for maior que "X". Como aplicar esta função? Obrigada. Compartilhar este post Link para o post Compartilhar em outros sites
Wesley David 20 Denunciar post Postado Novembro 16, 2011 beleza, Tenta desta forma: $tamMax = 30; if(strlen($row_rsFotos['Desc']) > $tamMax) echo substr($row_rsFotos['Desc'], 0, $tamMax) . '...'; else echo $row_rsFotos['Desc']; Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 16, 2011 substr() http://php.net/substr Compartilhar este post Link para o post Compartilhar em outros sites
Diéssica 140 Denunciar post Postado Novembro 16, 2011 Pode especificar mais de acordo com meu código? Compartilhar este post Link para o post Compartilhar em outros sites
Wesley David 20 Denunciar post Postado Novembro 16, 2011 Pode especificar mais de acordo com meu código? Eu especifiquei com o código que você enviou: a função strlen() conta a quantidade de letras do titulo, se essa quantidade de letras ultrapassar o tamanho máximo do titulo é usado a função substr() para pegar uma quantidade especifica de letras até o tamanho especificado e adicionado '...' no final. Compartilhar este post Link para o post Compartilhar em outros sites
Diéssica 140 Denunciar post Postado Novembro 16, 2011 Eu especifiquei com o código que você enviou: a função strlen() conta a quantidade de letras do titulo, se essa quantidade de letras ultrapassar o tamanho máximo do titulo é usado a função substr() para pegar uma quantidade especifica de letras até o tamanho especificado e adicionado '...' no final. Obrigada. Então eu devo adicionar esse código antes do "echo" com o título da foto da galeria? <?php $tamMax = 30; if(strlen($row_rsFotos['Desc']) > $tamMax) echo substr($row_rsFotos['Desc'], 0, $tamMax) . '...'; else echo $row_rsFotos['Desc']; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Peperaio 20 Denunciar post Postado Novembro 16, 2011 Diéssica posso dar a minha opinião? Recomendo acessar o link que o William passou. Notei que você não tem muita experiência com PHP (desculpe se eu estiver errado), portanto seria mais aproveitável para você testar a função (substr) por conta própria. Use o código do Wesley como uma referência. Compartilhar este post Link para o post Compartilhar em outros sites
Diéssica 140 Denunciar post Postado Novembro 16, 2011 Diéssica posso dar a minha opinião? Recomendo acessar o link que o William passou. Notei que você não tem muita experiência com PHP (desculpe se eu estiver errado), portanto seria mais aproveitável para você testar a função (substr) por conta própria. Use o código do Wesley como uma referência. Esse é o meu primeiro sistema do zero. Tudo o que eu não consigo entender do manual do php.net eu venho pra cá e tento solucionar meu problema. Só gostaria de um código para eu poder me basear. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Novembro 16, 2011 @Diéssica Veja este exemplo simples. PHP :seta: substr <?php $string = 'Algum texto para ser usado como teste!'; echo substr( $string, 0, 32 ), '...'; // Algum texto para ser usado como ... Caso tenha dúvidas, não deixe de perguntar :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Diéssica 140 Denunciar post Postado Novembro 16, 2011 É isto que quero. Porém, como adaptar? Como adaptar essa "string" ao meu código? <?php echo $row_rsFotos['Desc']; ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 16, 2011 <?php echo substr( $row_rsFotos['Desc'], 0, 32 ), '...'; ?> você não viu o post do @Wesley David ? Compartilhar este post Link para o post Compartilhar em outros sites
Diéssica 140 Denunciar post Postado Novembro 16, 2011 Resolvido! Só adaptei de echo $row_rsAlbuns['Desc']; para echo substr( $row_rsAlbuns['Desc'], 0, 10 ), '...'; Não precisei de nenhum outro código. Dei uma lida sobre substr também. Nem sei porque nem vi mesmo, pura ignorância minha. Obrigada Carlos, Wesley, William e Lucas! Compartilhar este post Link para o post Compartilhar em outros sites
Dellamarque 1 Denunciar post Postado Janeiro 26, 2016 Aqui deu ruimecho substr( $string, 0, 32 ), '...';Vou dar um exemplo de algo parecido de como eu fiz:$var_texto = $banco_texto;$var_texto_cort = substr( $var_texto, 0, 15). '...';echo $var_texto_cort;O lance está no final, direto em virgula estava causando erro, é só concatenarno lugar da virgula coloque um ponto.________$texto = "QUALQUER COISA AAA A A A A A";$texto_corta = substr($texto, 0, 15) . "...";0 é a linha inicial e 15 é o máximo de amostragem, concatenou com um PONTO antes do "..." e foiAbraços! Compartilhar este post Link para o post Compartilhar em outros sites
BlackMix 15 Denunciar post Postado Janeiro 26, 2016 Esse post é meio velho mas.. vou te dar uma função prontinha.. <?Php function short($a,$z = ''){ $b=substr($a,0,$z);if(strlen($a)>$z)$b.='..'; return strip_tags($b); } ?> Basta você usar Assim: <?Php echo short('texto aqui', 25); ?> Compartilhar este post Link para o post Compartilhar em outros sites