hvjohny 1 Denunciar post Postado Março 8, 2013 Boa tarde galera... venho pedir a ajuda de vocês novamente... Antes de mais nada gostaria de avisar que revirei o pai google e não encontrei nada que me ajudasse. Bom, estou usando o Tinymce pra inserir texto no banco de dados. Está tudo certo, porém, quando tem a ocorrência de espaço, ele envia como " ", e na ocorrência de uma nova linha, como "<p>". O problema que não consigo resolver é como fazer pra remover os espaços em branco no início e no fim da string. Já que é inserido <p> no inicio e </p> no final da string, não é possível usar a função trim(). Já pensei e tentei fazer várias coisas, porém não consigo resolver isso de jeito nenhum. Gostaria que quando o usuário digitasse alguma coisa do tipo: " teste ", recebesse somente o "teste", que no banco seria inserido: "<p>teste</p>". E quando o usuário digitasse: " ", no banco fosse adicionado nulo ou ''. no caso ele adiciona: "<p> </p>". Conto com a ajuda de vocês... Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Março 8, 2013 por que o trim não funciona? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Março 8, 2013 Amigo, leia a fundo sobre a função TRIM, garanto que vai te ajudar: http://php.net/manual/pt_BR/function.trim.php Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Março 8, 2013 por que o trim não funciona? Amigo, leia a fundo sobre a função TRIM, garanto que vai te ajudar: http://php.net/manual/pt_BR/function.trim.php O trim não funciona pelo motivo que disse acima: ao inserir um valor nulo, ou ao dar espaços sem digitar nada no text editor(tinycme) de qualquer forma ele adiciona <p></p>, logo não tem espaço no início pro trim() retirar. Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Março 8, 2013 então temos um erro de lógica, se ele não digita nada por que entra uma tag ? Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Março 8, 2013 então temos um erro de lógica, se ele não digita nada por que entra uma tag ? Na verdade quando deixado totalmente em branco(sem espaço nem nada), ele adiciona vazio no bd. porém, se der um espaço ele já já adiciona "<p> </p>". E é por isso que o trim() não funciona Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Março 8, 2013 então é o que estou dizendo, você não esta tratando os dados. teria que ser algo assim $digitado = trim($_POST['digitado']); if(!empty($digitado)){ $digitado = "<p>$digitado</p>"; } Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Março 8, 2013 então é o que estou dizendo, você não esta tratando os dados. teria que ser algo assim $digitado = trim($_POST['digitado']); if(!empty($digitado)){ $digitado = "<p>$digitado</p>"; } Não entendi o que vc quis dizer. o ao digitar o texto, ele já envia dessa forma não sei como. imprimindo a variável não aparece "<p> </p>". Só aparece no banco de dados mesmo. porém, usando o str_len ele conta caracteres a mais. Compartilhar este post Link para o post Compartilhar em outros sites
Rogério Santana 172 Denunciar post Postado Março 8, 2013 Já tive um problema desse com imagens dentro do Tinymce eu uso assim. $digitado = mysql_real_escape_string($_POST['digitado']); e na hora de puxar conteúdo do campo (stripslashes($qualquer['digitado'])); Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Março 8, 2013 Já tive um problema desse com imagens dentro do Tinymce eu uso assim. $digitado = mysql_real_escape_string($_POST['digitado']); e na hora de puxar conteúdo do campo (stripslashes($qualquer['digitado'])); acho que isso não vai me ajudar, até pq estou usando PDO. mas obrigado Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Março 8, 2013 galera, não consigo entender. se eu dou um echo no que estou recebendo do textarea do tinycme, ele imprime só o texto. mas no banco é adicionado <p> etc... alguém da uma luz? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Março 9, 2013 O navegador não mostra as tags, afinal de contas a função delas é formatar o texto, seria a mesma coisa que você dizer que no BD tem um <b></b> que não é mostrado. Se o seu problema reside apenas no excesso de espaços , basta você usar um str_replace de forma recursiva para remover (dois espaços seguidos), no final você dá outro str_replace para remove <p> </p> e pronto, isso tudo dá pra tratar com ER também. Compartilhar este post Link para o post Compartilhar em outros sites
hvjohny 1 Denunciar post Postado Março 10, 2013 O navegador não mostra as tags, afinal de contas a função delas é formatar o texto, seria a mesma coisa que você dizer que no BD tem um <b></b> que não é mostrado. Se o seu problema reside apenas no excesso de espaços , basta você usar um str_replace de forma recursiva para remover (dois espaços seguidos), no final você dá outro str_replace para remove <p> </p> e pronto, isso tudo dá pra tratar com ER também. se eu remover os espaços com str_replace, também removeria os espaços no texto. Eu resolvi deixar adicionando no banco de dados normal. Mas, ao listar os dados eu utilizo striptags e trim pra remover os espaços em branco... Valeu por tudo galera. Compartilhar este post Link para o post Compartilhar em outros sites