Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MiguelTb

[Resolvido] Texto em escadinha

Recommended Posts

Pessoal,

 

gostaria de saber a possibilidade de através de uma consulta no banco de dados a informação retornada ser exibida dessa forma em escadinha(segue foto abaixo), ou se existir outros métodos de fazer isso, com imagem seria uma forma, porém o site é administrativo para o cliente mudar quando ele quiser:

 

empresa_texto.jpg

 

Agradeço desde já.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Casa eu não manjo, mas isso tu faz com CSS e JS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, tenho que sair agora com meu chefe para uma reunião.

 

A função não está 100%, termino ela quando voltar, mas segue ela pra você ter uma ideia:

 

 

<?php
function Texto_Escada($txt, $lmt){
$cnt = strlen($txt);
$i=-1;
while($i < ceil($cnt/$lmt)){ $i++;
	$cut = $lmt*$i;
	$crt = $lmt-$i*2;
	$add = $i*3;
	echo substr($txt,($cut+$add),$crt)."<br />";
}
}

$texto = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.";
Texto_Escada($texto, 55);
?>

 

 

Abraços Walker

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa voltei.

 

Então tive uma ideia de inclinação.

 

Segue a função:

 

<?php
function Texto_Escada($txt, $lmt, $icl){
$cnt = strlen($txt);
$i=-1;
while($i < ceil($cnt/$lmt)){ $i++;
	$add += $i;
	echo '<div style="width: '.(360-$i*$icl).'px; padding-left: '.($i*$icl).';">'.substr($txt, ($lmt*$i-$add), ($lmt-$i-1)).'</div>';
}
}

$texto = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.";
Texto_Escada($texto, 55, 10);?>

Abraços Walker

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, mas e a escadinha, como fazer hein hein ? clap.gif

 

Ele realmente simplifica a quebra de letras, mas não me dá opção para acrescentar algo que vá aumentando ou diminuindo de valor. Porque não está dentro de um do, foreach ou while.

 

E agora Sr. Matheus Tavares ? laugh.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Will, não quis ofender, só dei uma sugestão. Peço desculpas se me expressei mal.

Segue uma alternativa que proponho, cortando por palavras e não caracteres.

 

<?php
$var = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.';

$caracteres = 50;
$diminui = 5;
$frases = explode('|||', wordwrap($var, $caracteres, '|||'));
foreach ($frases as $f) {
echo '<div style="padding-left:'.++$diminui.'px;">'.$f.'<div>';
}

 

Resultado: http://www.matheustavares.com.br/x.php

O resto é css. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que isso Matheus, não me ofendeu de nenhuma maneira. É que eu fiz a solução pensando em separar as letras porque a estrutura que ele quer é mais ou menos assim:

 

89067259.jpg

Eu tentei fazer com que o lado direito ficasse totalmente alinhado. Mas mesmo assim ficou imperfeito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que isso Matheus, não me ofendeu de nenhuma maneira. É que eu fiz a solução pensando em separar as letras porque a estrutura que ele quer é mais ou menos assim:

 

89067259.jpg

Eu tentei fazer com que o lado direito ficasse totalmente alinhado. Mas mesmo assim ficou imperfeito.

tenta usar uma font monospaced, acho que resolve o problema de alinhar na direita

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.