Problemas com 'echo'

13 views
Skip to first unread message

www.vitorneves.com

unread,
Jun 14, 2013, 10:15:27 AM6/14/13
to php-b...@googlegroups.com
Viva pessoal

Estou com um problema ao fazer um 'echo' de informação da base de dados e não sei como dar a volta.
Tenho este código:

<?php if (strlen($row['txt']) > 290) { ?>
<p><?php echo substr($row['txt'], 0, 287).'...   '; ?><a href="/noticia/<?php echo $row['link'];?>">[ ler mais ]</a>
<p>
<?php } else { echo $row->txt; } ?>
</p>

O que está acontecer é que quando o texto tem mais de 290 caracteres e faz o corte num caracter especial ou uma tag de html ele n fecha a tag ou n coloca caracteres destes '�' no caso dos caracteres especiais.

Como é que eu resolvo isto?

Att,

Vitor Neves

Cassiano Ricardo Mourão

unread,
Jun 14, 2013, 10:20:51 AM6/14/13
to php-b...@googlegroups.com


--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para php-brasil+...@googlegroups.com.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/php-brasil.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Marcio Eduardo

unread,
Jun 14, 2013, 10:30:30 AM6/14/13
to php-b...@googlegroups.com
Tenho uns problemas aqui com isso.
Normalmente são 3 coisas, codificação da página, codificação do arquivo e a falta do utf8 encode/decode
Para resolver isso, primeiro, veja na IDE qual a codificação é da página nas propriedades do arquivo.
Feito isso veja como está sua página. veja algo no cabeçalho como <META http-equiv="Content-Type" content="text/html" charset="UTF-8">
ou header ('Content-type: text/html; charset=utf-8');
e veja como está o suporte do seu servidor de internet/apache. Se suporta além de utf 8.
tem também as funções do php htmlentities que podem funcionar também.
--
Márcio Eduardo Luz
Bacharel em Sistemas de Informação

www.vitorneves.com

unread,
Jun 14, 2013, 11:13:12 AM6/14/13
to php-b...@googlegroups.com, cassian...@gmail.com
Obrigado Cassiano

Já está resolvido
Fiquei com um outro problema, mas é pq não estou muito à vontade com o concatenar.

Veja se me consegue ajudar, se n crio outro post

$string = substr($stringCut, 0, strrpos($stringCut, ' ')).'... <a href="/noticia/'.echo $row['link'].'">[ ler mais ]</a>';  

Att,
Vitor Neves

Luis H. Mulinari

unread,
Jun 14, 2013, 10:18:48 AM6/14/13
to php-b...@googlegroups.com
O caso de quebrar no meio de uma tag html você deve tratar de outra forma, porém o caso de caracteres especiais você tentou utilizar a função mb_substr?

--

Vitor Neves

unread,
Jun 16, 2013, 12:40:28 PM6/16/13
to php-brasil

Oi Luís

A questão dos caracteres tinha haver tb com o corte das tags.
Quanto à função q indicas, não conhecia, mas quando vi o link q me indicaram, tb encontrei essa indicação, mas que deixou de ser necessária porque agora o corte é por palavras em vez dos caracteres.

Atentamente,

Vitor Neves

----------------------------------------------------------------------------
Rua Casal do Conde, 7 - 3º Dto | 2330-522 Entroncamento
Telef. +351.249403801 | Telm. +351.964805453
MSN:
in...@vitorneves.com | Skype: vitorneves.com
www.vitorneves.com

----------------------------------------------------------------------------



2013/6/14 Luis H. Mulinari <luis.m...@gmail.com>
Reply all
Reply to author
Forward
0 new messages