Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
Amigo, leia a fundo sobre a função TRIM, garanto que vai te ajudar:
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.
então temos um erro de lógica, se ele não digita nada por que entra uma tag ?
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
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>";
}>
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.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']));
>
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
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?
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.
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.
por que o trim não funciona?