Ir para conteúdo

Arquivado

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

mldiogo87

[Resolvido] Quebra de linha em textarea, substituir por <P>

Recommended Posts

Bom dia,

 

Tenho um textarea que cadastra textos no banco de dados.

 

Gostaria que, ao exibir esse texto, substituir as quebras de linha (enters) por <P> no ínicio e </P> no final.

 

Testei algumas funções, pesquisadas no fórum, mas sem sucesso.

 

Grato,

 

$stringWithPs = str_replace("\n\n", "</p>\n<p>", $texto);
$stringWithPs = "<p>" . $stringWithPs . "</p>";
echo $stringWithPs;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solucionei, se alguém precisar:

 

<?php
$textop = nl2br($texto);
$textope = explode("<br />", $textop);
foreach($textope as $valores)
{
echo "<p>".$valores."</p>";
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Estou com a mesma dúvida.

 

Seu último exemplo, ficou perfeito, ele adiciona a Tag P a cada quebra de linha, portanto, não consigo colocar esse valor em uma variável.

Tentei concatenar, mas ele repete o valor a cada volta.

 

Precisava algo assim:

 

$c01 = nl2br($var_caracateristicas_prod);
$c02 = explode("<br />", $c01);
foreach($c02 as $valores)
{
echo "<p>".$valores."</p>";
}	

Assim

 

$c01 = nl2br($var_caracateristicas_prod);
$c02 = explode("<br />", $c01);
foreach($c02 as $valores)
{
$nomeDaVariavel .=  "<p>".$valores."</p>";
}	

 

Assim, ao imprimir a variável fora do FOR, eu teria a frase com as substituições, e não a repetição da frase a cada substituição.

 

Podem me ajudar por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@mkboy tem como contextualizar melhor? Não ficou muito claro o que você quer, pq pelo o seu código $nomeDaVariavel armazena normalmente os valores concatenando quando ele explode("<br />" , $c01).

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por noxer
      Boa tarde, Preciso atribuir o valor de uma textarea para uma var e a exibir em um p. Fiz bem simples usando js/jquery mas agora preciso fazer em php.
       
      Ja tentei $variavel = $_POST['nomedocampo']; mas não obtive resultado
       
       
      Segue o trecho em js
      <textarea class="wapf-input" ></textarea> <button class="sendPDF">PDF</button> <p class="geratedPDF"></p>  
      $('.sendPDF').on('click', toPDF) function toPDF() { var textareaValue = $('.wapf-input').val() $('.geratedPDF').text(textareaValue) }
    • Por Infra Comnet
      Estou reaprendendo o javascript desde que entrei no novo trabalho, então estou criando um projetinho simples em html com javascript dentro do html, aí ok. Googleando umas coisas que preciso para associar aos poucos no meu projetinho, encontrei através do site CodePen.io um esboço feito por alguém, daí nele continha a função era o que eu precisava (preencher os campos que automaticamente puxa para o textarea, além de substituir as palavras) , daí peguei as funções e botei no meu código-fonte de html, mas não funcionou em qualquer navegador e achei estranho. acrescentei a linha de script que chama o tal jquery do esboço de onde encontrei, testei e nada. Daí criei meu usuário no CodePen.io, joguei os códigos nele, testei e funcionou... aí achei estranho se funciona no CodePen.io e não funciona nos navegadores.
      Então vou explicar o que acontece: Pelo CodePen.io (acesse neste link com os códigos que fiz: https://codepen.io/InfraComnet/pen/JQbrMV ), o campo Código quando digitado (que será substituído por select para selecionar em vez de digitar números) está puxando conteúdo para a textarea e está ok, e os campos nome e técnico digitados estão substituindo normal. Agora nos navegadores, mesmo digitando nos campos, nada aparece no textarea.
      Um detalhe: como falei antes que estou reaprendendo o javascript, então o jquery é uma coisa nova para mim (não conheço quase nada de jquery, por isso que cacei as funções prontas e pede o src de jquery para funcionar, daí é tenso), então para que as coisas funcionem, eu botei a linha de comando da script de jquery para que possa executar as tarefas funcionando igual ao que acontece no CodePen.io, mas não tá funcionando. Já o outro projetinho que montei, tb usa o jquery (mas diferente deste) e está funcionando. Não sei onde está o erro. E outra, estou usando o Notepad++ pra mim trabalhar nos códigos de html, css e, aos poucos, javascript.
      Veja o código completo abaixo:
      <html> <head><title>SCRIPT COLETA DE INFORMAÇÕES - TESTE</title></head> <!-- Script com link de JQuery --> <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script type="text/javascript"> var dados = [{"codigo": "1", "Nome": ["AVISO PADRÃO / XXXXXX / XXXXXXXX) NÃO CADASTRADO",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) AUTORIZA CADASTRADO"]},              {"codigo": "2", "Nome": ["LEMBRETE / XXXXXX / XXXXXXXX) AGENDADO",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) VERIFICAR ORDEM DE SERVIÇO"]},              {"codigo": "3", "Nome": ["REINCIDÊNCIA / XXXXXX / XXXXXXXX)",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) PROBLEMA REINCIDENTE"]},              {"codigo": "4", "Nome": ["REAGENDAMENTO / XXXXXX / XXXXXXXX)",                                          "AVISO PADRÃO / (NOME CLIENTE / RESPONSÁVEL) FEITO NOVO AGENDAMENTO"]},             ]; $('input[name="codigo"]').change(function(){   $('textarea[name="nome pessoal"]').val(pegaNome($(this).val())); }); $('input[name="nome"]').change(function(){   var nome = $(this).val();   var text = $('textarea[name="nome pessoal"]').val();   $('textarea[name="nome pessoal"]').val(text.replaceAll(' XXXXXX ',` ${nome} `)); }); $('input[name="tecnico"]').change(function(){   var nome = $(this).val();   var text = $('textarea[name="nome pessoal"]').val();   $('textarea[name="nome pessoal"]').val(text.replaceAll(' XXXXXXXX',` ${nome} `)); }); function pegaNome(cod){   var nome  = "Não existe na lista"   var nomes = "";      $.each(dados, function(i, val){     if (val.codigo == cod)       {         nome = val.Nome;         $.each(nome, function(index, value){           nomes += value + '\n\n';         });         }     });   return nomes; } String.prototype.replaceAll = function(searchStr, replaceStr) {     var str = this;     searchStr = searchStr.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');     return str.replace(new RegExp(searchStr, 'gi'), replaceStr); }; </script> <body> <!-- Exibindo na página nos navegadores --> <tr>   <td>     Código:<input type="text" name="codigo" size="5">     Cliente: <input type="text" name="nome" size="28"></td></br>     Técnico: <input type="text" name="tecnico" size="28"></br></br>     <textarea name="nome pessoal" rows="10" cols="50"></textarea>   </td> </tr> </body> </html>  
    • Por luciodev97
      Amigos, estou com um problema, tenho um campo no formulário que é um textarea, quando salvo o texto digitado pelo usuario em um bd e exibo novamente o campo não tem quebra de linhas.
       
      Exemplo:
      O texto foi digitado assim:
      "Bom dia,
      Segue em anexo"
       
      mas é exibido assim 
      "Bom dia, Segue em anexo"
       
      Alguém sabe alguma forma de fazer o HTML reconhecer o enter como quebra de linha? Esse formulário será  disponibilizado para usuários, eles não conseguirão usar <br> ou <p>
    • Por thvinic
      Obrigado Primeiramente, este é o meu First post aqui na comunidade
       
      Galera tenho um probleminha básico com jquery,  tenho 4 campos <input> que quando preenchidos com texto, enviam para uma <textarea></textarea>
       
      a questão é:  Como deixar um texto inicial na textarea, e quando eu preencher as inputs não apagar o valor existente?
       
      tenho uma prévia
      https://jsfiddle.net/orpwmc5b/3
       
      Obrigado a todos!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.