Ir para conteúdo

Arquivado

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

fsales_123

comentario php

Recommended Posts

boa tarde como faço para limitar caracteres nesse codigo

<?php echo $ln->descricao; ?>...

?? ja fiz isso

<?php echo truncate(strip_tags($ln->descricao), 150); ?>......

fica assim se for mais que 150 caracteres ele aparece "..." se for menor qe 150 aparece os comentarios

Compartilhar este post


Link para o post
Compartilhar em outros sites

na onde posso usar? onde posso colocar ela?

 

Fiz essa função aqui, verifica ai se funciona, pq aqui n tenho apache...

function truncate($texto){
	
	// Aqui verifica a quantidade de caracteres 
	$qtd = strlen($texto);
	
	if($qtd > 150):
		$texto = substr($texto, 0,147);
		$texto = $texto."...";
		return $texto;
	else:
	
		return $texto;
		
	endif;
	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu truncate() ja corta o texto?

 

Então e so conta os caracteres strlen()!

if(strlen($string = truncate(strip_tags($ln->descricao), 150)) > 150){
  echo "tenho mais de 150 caracters";
}else
    echo "tenho menos de 150 caracters";
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou testar desde de ja mto obrigado


deu isso amigo

 

 

Fatal error: Cannot redeclare truncate() (previously declared in config/conexao.php:25) in index.php on line260

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou testar desde de ja mto obrigado

deu isso amigo

 

 

Fatal error: Cannot redeclare truncate() (previously declared in config/conexao.php:25) in index.php on line260

 

Você declarou a função "truncate" duas vezes, remova uma das declarações ou comente a mesma, mantendo somente uma função com este nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa funcão qe estou usando e n tem duas truncate

 

 

function truncate($texto){
if(strlen($texto) > 150) {
    $texto = substr($texto, 0, 147)."...";
return $texto;
}
return $texto;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq que tem 2 returns?

$texto = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque sed quam lacus. Phasellus ultrices placerat est in commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent pharetra odio vitae velit eleifend, sollicitudin hendrerit quam vulputate. Aliquam scelerisque nec leo sed tincidunt. Fusce vel nulla vitae mi ultrices vulputate non at metus. In finibus sollicitudin lorem, ac interdum orci. Curabitur eget elit et diam mattis auctor. Nam sed accumsan ipsum. Proin eget nisi metus. Duis non faucibus est. Nunc venenatis, ipsum sed interdum lobortis, lacus ante tincidunt metus, sed dictum metus ante quis velit. Mauris laoreet quam massa.";

echo substr($texto,0,140);

Isso não funciona?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq que tem 2 returns?

$texto = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque sed quam lacus. Phasellus ultrices placerat est in commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent pharetra odio vitae velit eleifend, sollicitudin hendrerit quam vulputate. Aliquam scelerisque nec leo sed tincidunt. Fusce vel nulla vitae mi ultrices vulputate non at metus. In finibus sollicitudin lorem, ac interdum orci. Curabitur eget elit et diam mattis auctor. Nam sed accumsan ipsum. Proin eget nisi metus. Duis non faucibus est. Nunc venenatis, ipsum sed interdum lobortis, lacus ante tincidunt metus, sed dictum metus ante quis velit. Mauris laoreet quam massa.";

echo substr($texto,0,140);

Isso não funciona?

 

A função possui 2 return pois ele quer retornar uma string inteira caso ela seja menor que 150 caracteres, ou caso for maior que 150 caracteres, posição 0 até 147 + '...' para indicar a continuação do texto. portando, na função postada, se for maior que 150 ele entra na condição e retorna 147+'...', caso contrário cai no segundo return, lembrando que qualquer return dentro de uma função funciona como um break dentro de um while ou for.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está montada errada, eu testei antes de postar, você deveria fazer o mesmo antes de criticar.

 

Cara, não estou criticando. Funcionar não quer dizer que está certa.

 

Você só deve ter um return em uma função, até onde sei. A condição de retorno dela deve ser definida antes.

Ao meu ver, esta é a versão, não vamos usar mais o termo "errado", e sim "melhor escrita".

<?php
	function truncate($texto)
	{
		// * Se a contagem for maior que 150, corta
		if(strlen($texto) > 150){
			$texto = substr($texto, 0, 147)."...";
		}
		// * Senão, mantém integral.
		else{
			$texto = $texto;
		}
		return $texto;
	}
?>

Desculpe se causei algum mal-estar. Estamos aqui para aprender, não? :closedeyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Cara, não estou criticando. Funcionar não quer dizer que está certa.

 

Você só deve ter um return em uma função, até onde sei. A condição de retorno dela deve ser definida antes.

Ao meu ver, esta é a versão, não vamos usar mais o termo "errado", e sim "melhor escrita".

<?php
	function truncate($texto)
	{
		// * Se a contagem for maior que 150, corta
		if(strlen($texto) > 150){
			$texto = substr($texto, 0, 147)."...";
		}
		// * Senão, mantém integral.
		else{
			$texto = $texto;
		}
		return $texto;
	}
?>

Desculpe se causei algum mal-estar. Estamos aqui para aprender, não? :closedeyes:

 

Eu posso estar declarando mais de um return dentro de uma função, aplicando condições para retornar antes do termino da mesma ou não, conforme feito na função que sugeri, desta forma eu torno o código mais limpo e objetivo, mais fácil de entender. O modo sugerido por você também está correto, a diferença é que não estou alocando o valor em uma variável e sim retornando o mesmo diretamente. A performance e resultado é o mesmo.

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.