← Desenvolvimento

Se for muito grande encortar..

Lida 1816 vezes

Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Boas! Eu queria saber se alguém sabe fazer aquela cena de..se por exemplo o texto duma noticia for muito grande (por exemplo, superior a 750 caracteres) ele fica encortado até 750 caracteres e aparece ... e de seguida onde nós queiramos aparece "Ler tudo".

Só necessito mesmo de saber fazer isto..não me aparece na cabeça nenhuma maneira de o fazer.. :?
Offline

tbk22 
Membro
Mensagens 1268 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Isso em que tipo de site, lol!!

Esquecestete

Num CMS, no Wordpress??
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Se puder ser em php podes utilizar substr_replace()

Tipo assim:

Código: [Seleccione]
<?php

$noticia 
"O Instituto de Meteorologia registou hoje de manhã um sismo de magnitude 4,3 na escala de Richter na Rede Sísmica do Continente Português, cujo epicentro foi localizado em Espanha, 85 quilómetros a nordeste de Bragança.";
 
$reduzir substr_replace&#40;$noticia, '...', 10&#41;; //10 será portanto o número de caracteres a mostrar

echo $reduzir;

?>
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Citação de: "tbk22"
Isso em que tipo de site, lol!!

Esquecestete

Num CMS, no Wordpress??


Não uso coisas pré-fabricadas para fazer sites, para os fóruns ainda aceito, agora pra sites não.
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Citação de: "=IceBurn="
Se puder ser em php podes utilizar substr_replace()

Tipo assim:

Código: [Seleccione]
<?php

$noticia 
"O Instituto de Meteorologia registou hoje de manhã um sismo de magnitude 4,3 na escala de Richter na Rede Sísmica do Continente Português, cujo epicentro foi localizado em Espanha, 85 quilómetros a nordeste de Bragança.";
 
$reduzir substr_replace&#40;$noticia, '...', 10&#41;; //10 será portanto o número de caracteres a mostrar

echo $reduzir;

?>


Isto é muito bom..era mesmo algo assim que queria.. mas deixa ca ver.. aqui mostra os ... se for maior que 10 caracteres mas se for menos também o mostra? E eu queria que aparece-s os "..." e o "ler tudo" apenas se for maior que os tais 750 caracteres..
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Então temos que acrescentar mais um pequeno promenor...  :wink:

Experimenta assim:

Código: [Seleccione]
<?php

$noticia 
"O Instituto de Metrologia registou de manhã um sismo de magnitude 4,3 na escala de Richter na Rede Sísmica do Continente Português, cujo epicentro foi localizado em Espanha, 85 metros a nordeste de Bragança.";

$contagem=strlen&#40;$noticia&#41;; //Aqui contamos o número de caracteres
if &#40;$contagem>=750&#41; //Se forem mais de 750...
&#123; 
$reduzir substr_replace&#40;$noticia, '...', 750&#41;; //Encurtamos a notícia ...
echo $reduzir;
&
#125;
else
&
#123;
print $noticia//de resto mantemos a notícia como está &#58;&#41;
&#125;
?>
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Agora já está a coisa resolvida, só falta o pormenor do "ler tudo" lol mas poderei fazer..no if colocar $lertudo = "sim" e depois no local do ler tudo colocar um if.. ;) eu cá me arranjo =P