Jump to content


Photo

Quebra De Linha


  • Faça o login para participar
21 replies to this topic

#1 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 13/01/2004, 16:14

Galera

tenho no meu banco um campo do tipo BLOB (texto c/ quebra de linha)

para eu exibir o valor deste campo eu coloco
<?php echo $linha_guestbook['mensagem']; ?>
soh q daí o resultado aparece sem a quebra de linha, tem como eu fazer algo parecido c/ quebra de linha????

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#2 Sh4d0wn

Sh4d0wn

    12 Horas

  • Usuários
  • 265 posts
  • Sexo:Masculino
  • Interesses:muitos.

Posted 13/01/2004, 16:16


<?

     echo nl2br($texto);

?>


more in > http://br2.php.net/m...ction.nl2br.php

[]'s


#3 Petry

Petry

    Veterano

  • Usuários
  • 1132 posts
  • Sexo:Masculino
  • Localidade:Caxias do Sul - RS
  • Interesses:- desenvolvimento WEB<br />- websemântica<br />- microformatos

Posted 13/01/2004, 16:32

Valeu Sh4d0wn!

naum conhecia essa função...

Posted Image

- Desenvolvedor Python/ZOPE/Plone + ArchGenXML/Poseidon - Python + Django na Universidade de Caxias do Sul
- Desenvolvedor Python + Django na World News

Blog

#4 Mr_Armagedon

Mr_Armagedon

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu, Pr

Posted 12/04/2004, 19:16

ae pessoal, tenho uma duvida quanto a funcao nl2br();
meu codigo é o seguinte:
<? while($array_cliente=mysql_fetch_array($sql_cliente)) { ?>
  <tr bgcolor="ebebeb">
    <td width="19%" height="25"><font face="Arial" size="2" color="#666666">
      <?echo $array_cliente['inclusao_palavra'];?>
      </font></td>
    <td width="33%" height="25"><font face="Arial" size="2" color="#666666">
      <?echo nl2br($array_cliente['palavra']);?>
      </font></td>
    <td width="23%" height="25"><font face="Arial" size="2" color="#666666">
      <?echo nl2br($array_cliente['descricao']);?>
      /
      <?echo $array_cliente['letra'];?>
      </font></td>
esse echo descricao ai, é um campo text no mysql, e ele nao ta pulando linha nao, ta indo até o fim, mas se eu coloco \n no meio, ai sim, ele quebra.
Eu tenho que colocar \n entao em td lugar q quero quebra a linha?
Algum erro no meu codigo?
Ou tem algo a ver com o campo q eu to usando?
Desculpem desenterra esse topico, mas nao achei necessario abrir outro...
DEsde ja agradeco,

Abracos,
Daniel

#5 thiagorsl

thiagorsl
  • Visitantes

Posted 12/04/2004, 20:15

ae pessoal, tenho uma duvida quanto a funcao nl2br();
meu codigo é o seguinte:

<? while($array_cliente=mysql_fetch_array($sql_cliente)) { ?>
  <tr bgcolor="ebebeb">
    <td width="19%" height="25"><font face="Arial" size="2" color="#666666">
      <?echo $array_cliente['inclusao_palavra'];?>
      </font></td>
    <td width="33%" height="25"><font face="Arial" size="2" color="#666666">
      <?echo nl2br($array_cliente['palavra']);?>
      </font></td>
    <td width="23%" height="25"><font face="Arial" size="2" color="#666666">
      <?echo nl2br($array_cliente['descricao']);?>
      /
      <?echo $array_cliente['letra'];?>
      </font></td>
esse echo descricao ai, é um campo text no mysql, e ele nao ta pulando linha nao, ta indo até o fim, mas se eu coloco \n no meio, ai sim, ele quebra.
Eu tenho que colocar \n entao em td lugar q quero quebra a linha?
Algum erro no meu codigo?
Ou tem algo a ver com o campo q eu to usando?
Desculpem desenterra esse topico, mas nao achei necessario abrir outro...
DEsde ja agradeco,

Abracos,
Daniel

Olha kra basta usar o nl2br para fazer a quebra de linhas se foi isso que entendi ........

N"ao tem nada de errado com o tipo de campo mais para que o nl2br vc tem que ter um "Enter" nesse campo da tabela ou seja quando vc digita no form vc tem que dar um enter e então o nl2br vai funcionar direitinho ;)

#6 thalesalan

thalesalan
  • Visitantes

Posted 12/04/2004, 20:32


<?

     echo nl2br($texto);

?>


more in > http://br2.php.net/m...ction.nl2br.php

[]'s

Cada dia aqui, aprendo novas funções, valeu! :D

#7 dokkalfr

dokkalfr

    Ich bin der Geist der stets verneint

  • Usuários
  • 203 posts
  • Sexo:Não informado
  • Localidade:Svartheim
  • Interesses:Programação e sexo

Posted 13/04/2004, 00:30

Só uma coisa ... o campo tipo BLOB não é um campo com quebra de linha e sim um tipo de texto binário (por exemplo, se tu quiseres por uma imagem na banco de dados) ... qualquer campo que aceite texto aceita quebra de linha. A quebra de linha é um caractere da string designado por \n.
Assim o texto ... "texto\nde\nexemplo" ... tem 3 linhas!
Ainda com dúvida? Os melhores programadores PHP estão aqui
=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Blog PHPClube
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bookmarks

#8 Mr_Armagedon

Mr_Armagedon

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu, Pr

Posted 13/04/2004, 15:40

Hum...
tá, mas e por ex:
Eu tenho um texto... um paragrafo... Quando eu fosse inseri dentro do campo txt, eu nao iria dar enter nenhum, até o fim desse paragrafo. Entao quando eu fosse dar um select nele, ele iria aparecer dentro de uma tabela ok? Mas como o nl2br soh reconhece enter que foi dado na insercao, ele nao pularia a linha, com isso, faria com q a minha tabela se extendesse mt alem da margem do site no caso...
To certo ou errado?
Acho que foi isso que entendi da funcao, precisaria de algo que quebrasse qd chegasse na margem, que nao funcionasse como o wordwrap, que corta a palavra no meio se ela passar do limite de caracteres....

Se errei em alguma coisa, ou to pensando errado, por favor, me corrijam ;)

Grande abraco,
Daniel

#9 thiagorsl

thiagorsl
  • Visitantes

Posted 13/04/2004, 15:47

Hum...
tá, mas e por ex:
Eu tenho um texto... um paragrafo... Quando eu fosse inseri dentro do campo txt, eu nao iria dar enter nenhum, até o fim desse paragrafo. Entao quando eu fosse dar um select nele, ele iria aparecer dentro de uma tabela ok? Mas como o nl2br soh reconhece enter que foi dado na insercao, ele nao pularia a linha, com isso, faria com q a minha tabela se extendesse mt alem da margem do site no caso...
To certo ou errado?
Acho que foi isso que entendi da funcao, precisaria de algo que quebrasse qd chegasse na margem, que nao funcionasse como o wordwrap, que corta a palavra no meio se ela passar do limite de caracteres....

Se errei em alguma coisa, ou to pensando errado, por favor, me corrijam ;)

Grande abraco,
Daniel

Entendi agora oq vc quer teve um luiz não sei se o luiz000 ou o luisb que fizeram uma função que fazia isso que vc uqer mais da uma procurada aki no forum que ela ta postada por ai ;)

Qualquer coisapost ai ;)

#10 dokkalfr

dokkalfr

    Ich bin der Geist der stets verneint

  • Usuários
  • 203 posts
  • Sexo:Não informado
  • Localidade:Svartheim
  • Interesses:Programação e sexo

Posted 13/04/2004, 16:19

ou simplesmente define no html a largura máxima que tu queres pra tabela ... tipo
<table width="760px"><tr><td>
teu texto gigantesco e sem quebras de linha
</td></tr></table>

Ainda com dúvida? Os melhores programadores PHP estão aqui
=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Blog PHPClube
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bookmarks

#11 thiagorsl

thiagorsl
  • Visitantes

Posted 13/04/2004, 16:28

ou simplesmente define no html a largura máxima que tu queres pra tabela ... tipo

<table width="760px"><tr><td>
teu texto gigantesco e sem quebras de linha
</td></tr></table>

Isso naum funcionaria se o kra escreve

hehehehehehheehhehehehehhehehehehehehehehehehhhehehehe

Sem espaço isso distorceria a tabela de qualquer jeito

Por isso seria necessario quebrar a palavra com " "

Se não distorce de qualquer jeito ;)

Se tiver outro jeito fale ai ;)

#12 Mr_Armagedon

Mr_Armagedon

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado
  • Localidade:Foz do Iguaçu, Pr

Posted 13/04/2004, 16:30

ou simplesmente define no html a largura máxima que tu queres pra tabela ... tipo

<table width="760px"><tr><td>
teu texto gigantesco e sem quebras de linha
</td></tr></table>

Isso naum funcionaria se o kra escreve

hehehehehehheehhehehehehhehehehehehehehehehehhhehehehe

Sem espaço isso distorceria a tabela de qualquer jeito

Por isso seria necessario quebrar a palavra com " "

Se não distorce de qualquer jeito ;)

Se tiver outro jeito fale ai ;)

É uma ideia boa essa do dokkalfr, mas ai ficaria como o wordwrap né?
Vamo fuca atras desse script ai... ;)

#13 <? K3RN3L_P4N1C ?>

<? K3RN3L_P4N1C ?>

    <? PHP4N1C ?>

  • Usuários
  • 287 posts
  • Sexo:Não informado
  • Localidade:Sinop - MT

Posted 14/04/2004, 09:12

Tenho uma solução em PHP para te mostrar:

Use a função chunk_split().

"Divide uma string em pedaços de tamanho “comprimento”, colocando a uma string qualquer no fim de cada pedaço e retornando tudo em uma string. O parâmetro “compr” tem valor padrão de 76 e o parâmetro “fim” tem valor padrão de “\r\n” caso esses não sejam especificados."

Pode usar ela na hora de gravar para o banco de dados ou somente quando for mostrar o texto.

Exemplo:
<?
$cTexto = "Teste de texto para que se entenda a função chunk_split()";

$cTexto = chunk_split($cTexto,10,"<br>");

echo $cTexto;
?>

Isto me retornaria:

Teste de t
exto para
que se ent
enda a fun
ção chunk_
split()

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

Espero ter ajudado ! :lol:

Edição feita por: <? K3RN3L_P4N1C ?>, 14/04/2004, 09:12.

<?
$nome = Tiago Leão;
$nick = <? K3RN3L_P4N1C ?>;
$email = tiagoacl@ig.com.br;
$icq = 124996176;
$interesses = PHP;

//Acredite em Jesus, porque ele ja acreditou em você um dia...

?>

#14 thiagorsl

thiagorsl
  • Visitantes

Posted 14/04/2004, 11:07

Tenho uma solução em PHP para te mostrar:

Use a função chunk_split().

"Divide uma string em pedaços de tamanho “comprimento”, colocando a uma string qualquer no fim de cada pedaço e retornando tudo em uma string. O parâmetro “compr” tem valor padrão de 76 e o parâmetro “fim” tem valor padrão de “\r\n” caso esses não sejam especificados."

Pode usar ela na hora de gravar para o banco de dados ou somente quando for mostrar o texto.

Exemplo:

<?
$cTexto = "Teste de texto para que se entenda a função chunk_split()";

$cTexto = chunk_split($cTexto,10,"<br>");

echo $cTexto;
?>

Isto me retornaria:

Teste de t
exto para
que se ent
enda a fun
ção chunk_
split()

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

Espero ter ajudado ! :lol:

Seria melhor fazer assim então ver se cada palavra tem mais de 10 separados

<?
$cTexto = "Teste de texto para que se entenda a função chunk_split() hehehehehehehehehehheheheh";
$res=explode(" ",$cTexto);
for($x=0;$x<count($res);$x++){
if(strlen($res[$x])>10){
$res[$x]= chunk_split($$res[$x],10," ");
}
}
$cTexto=implode(" ",$res);
echo $cTexto;
?>


#15 <? K3RN3L_P4N1C ?>

<? K3RN3L_P4N1C ?>

    <? PHP4N1C ?>

  • Usuários
  • 287 posts
  • Sexo:Não informado
  • Localidade:Sinop - MT

Posted 14/04/2004, 13:51

A tua função só me retornou isso thiagorsl:

"Teste de texto para que se entenda a função"

Não vejo o porque de tudo isso pra colocar a tag <br> depois de XX caracteres. O '10' é só um exemplo !!
<?
$nome = Tiago Leão;
$nick = <? K3RN3L_P4N1C ?>;
$email = tiagoacl@ig.com.br;
$icq = 124996176;
$interesses = PHP;

//Acredite em Jesus, porque ele ja acreditou em você um dia...

?>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq