Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então galera, o negócio é o seguinte...
Na hora de cadastrar alguma informação no meu site, eu tenho dificuldades quando coloco um apóstrofo (por causa do mysql) ou quando coloco uma aspa (por causa do input)
Por exemplo, quando vou passar uma informação com aspas para um input em outra página, ele fica assim:
<input name="nome" value=[b]"este é o "[/b][color=red]valor""[/color]>
e quando uso apóstrofo, o problema é esse:
mysql_query("INSERT INTO tabela (texto) VALUES ([b]'Este é o '[/b][color=red]texto''[/color]")
onde negrito é o valor entendido e vermelho é o que sobrou e devia estar dentro...
alguém sabe algum modo bom de driblar estes problemas?
tentei htmlentities só que ele acabou afetando todas as tags de html onde usei...
abraços!
Tenta usar str.replace
Deixa eu ver se eu entendi a idéia
é só usar str_replace pra transformar " em \" e ' em \' ??
funciona? ô,ô
eu to até pensando em fazer um outro caracter não utilizado pra apostrofo e aspas, algum código...
†‡ pra aspas e ‡† pra apostrofo, aí na hora de cadastrar ele troca e na hora de mostrar ele troca também, mas acho meio chunchera hahahah
No manual do PHP, na parte de referências da linguagem, ensina a utilizar as aspas e o apóstrofo da maneira correta, utilizando escape e outras técnicas, além da sintaxe heredoc:
http://br2.php.net/manual/pt_BR/language.types.string.php
Nesta página também exitem referências a várias funções que estão relacionadas.
Amigo, é só pegar o valor e usar a função addslashes, por exemplo:
**$nome = $_POST['nome'];**
$nome = addslashes($nome);
Ou, resumindo:
$nome = addslashes($_POST['nome']);
Isso vai fazer o ' virar \' e o " virar \", mas quando for inserido no MySQL, a barra sai, ficando só " ou ' mesmo! ^^
Isso se faz necessário por que o que delimita um pedaço de texto (string) no MySQL são as aspas... =)
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Ps.: Se for exibir a variavel no HTML, depois de usar o addslashes, usa o stripslashes pra remover as barras. =)
você pode usar barra invertida para escapar as aspas q kiser... \' \"