Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
substr()
Pode especificar mais de acordo com meu código?
>
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.
>
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'];
?>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.
>
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.
@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:
É isto que quero. Porém, como adaptar? Como adaptar essa "string" ao meu código?
<?php echo $row_rsFotos['Desc']; ?><?php echo substr( $row_rsFotos['Desc'], 0, 32 ), '...'; ?>
você não viu o post do @Wesley David ?
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!
Aqui deu ruim
echo 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ó concatenar
no 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 foi
Abraços!
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);
?>
beleza,
Tenta desta forma: