Ir para conteúdo

POWERED BY:

Arquivado

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

pa_bruno

Usando substr

Recommended Posts

falae galera... seguinte, tinha ateh postado num topicoae q estava fazendo uma pagina onde possui a chamada de uma matéria, e clicando no link abre a matéria toda... usei o substr pra fazer esse recorte de apenas q qntidade de letras q queria... mas soh q as palavras acentuadas ele considera como os codigos html... por exemplo, soh quero q apareça á, mas o php conta como á como eh a letra em html... o problema eh q se a palavra acentuada estiver no fim da chamada, vai aparecer o codigo ao inves da letra... isso vale também pra tags do htmlcomo <img>, entre outras... alguem sabe se tem um jeito d resolver isso???faooow... :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim:$maxLen = 30; //qtd max de caracteres$texto = "esse é um texto que tem mais de 30 caracteres sem a menor sobra de duvida ele tem que ter mais de 30 caracteres se nao ele nao adianta para esse exemplo, ai n vai prestar...";$nt = substr($texto, 0, 30);while(substr($nt, strlen($nt) - 1) != " ") { $nt = substr($nt, 0, -1);}$nt = substr($nt, 0, -1); //retirar o espacon testei, mas eh + - assim, pelo menos a logica acho q deu pra pegar, ele vai reduzindo o texto ateh encontrar um espaco, assim ele n corta palavras no meio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

 

PHP

[*]<?

[*]

[*]$String = "Valor com codes html";

[*]$String = html_entity_decode($String);

[*]

[*]echo substr($String, 0, 30);

[*]

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

falae galera... seguinte, tinha ateh postado num topicoae q estava fazendo uma pagina onde possui a chamada de uma matéria, e clicando no link abre a matéria toda... usei o substr pra fazer esse recorte de apenas q qntidade de letras q queria... mas soh q as palavras acentuadas ele considera como os codigos html... por exemplo, soh quero q apareça á, mas o php conta como á como eh a letra em html... o problema eh q se a palavra acentuada estiver no fim da chamada, vai aparecer o codigo ao inves da letra... isso vale também pra tags do htmlcomo <img>, entre outras... alguem sabe se tem um jeito d resolver isso???

 

faooow... :D

<{POST_SNAPBACK}>

Você pode fazer assim:

 

<?php

$texto = $row_seuRegistro['texto'];

$parcial = substr($texto,0,100); // pega os 100 primeios caractares

echo strip_tags(nl2br($parcial)); // strip_tags tira as tags html veja:http://www.imasters.com.br/artigo.php?cn=3256&cc=239

?>

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionou aki com os acentos... agora com tags como a img naum funcionou... coloquei d um jeito aki, mas ele some somente com o inicio da tag, os atributos continuam... tem como colocar pra qnd tiver uma tag <img> iniciada ele faz com q ela naum apareça, independente dos atributos... como se descartasse toda essa tag... valew ae galera... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem sim... o jeito mais fácil seria você utilizar expressões regulares, que pode ser através das funções ereg_replace() e preg_replace(). Aí você manda ela pegar de um "<img" até o próximo ">". A expressão ficaria assim:

"<img[^>]*>"

 

Casaria um <img, depois casaria qualquer caractere diferente de ">" 1 ou mais vezes, e por fim, casaria o fechamento da tag: ">". beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcinou com o preg_replace(), showd bola... valew ae galera... taum ajudando pra kct... ;)

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.