Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, gostaria de saber como faço para retirar as barras invertidas colocadas pelo php.Exemplo eu recebo de um text area uma string, porem o php trabalha essa string, tipo coloca barra invertida antes de aspas, qdo recoloco este texto na pagina não tem problemas as barras invertidas são removidas pelo php, mas qdo envio o texto por e-mail as barras não são interpretadas, pois n tem php e aparece assim, " \' ". Como resolvo isso?GratoLeandro
belezavaleuAbraçoLeandro
Estava pensado aquiisso vai me causar erros, pois TODAS barras invertidas vão ser excluidas e tipo onde tenho o comando \n vai ficar so n. O que eu preciso é um comando que exclua somente as que o php colocou, saberia me dizer qual??outra coisa, qdo uso o comando $string = str_replace("//","",$string); eu tenho que colocar duas barras invertidas em vez de uma, certo? para ele reconhecer apenas uma.Tipo tenho a palavra oi\nao, e quero que seja oinao, então devo fazer $string = "oi\nao";$string = str_replace("\\","",$string);certo?GratoLeandro
sobre sua a pergunta sim...se você /oi para buscar será //oi...agora quanto ao seu problema, é um problema mesmo!!!mas vamos pensar em algo...se achar uma solução posta ai..Marcio
kara tive dando uma olhada, da uma olhada nessa função pode ser que lhe ajude...
abraços
Marcio
Vou dar uma verificada, valeu!!! Acho que resolve, mas não existe nenhuma função que apenas retire tags php? Pois as html eu gostaria de deixar, uso bastante o \n, por exemplo
tentei e n funcionou
Vou dar uma verificada, valeu!!! Acho que resolve, mas não existe nenhuma função que apenas retire tags php? Pois as html eu gostaria de deixar, uso bastante o \n, por exemplo
meio sem "nexo" o que você postouessa barra invertida chama-se "backslash"ela é automaticamente adicionada junto a caracteres especiais quando o php.ini está com os parâmetros:
magic_quotes_runtime = Onmagic_quotes_sybase = Off
olha no manual:php.netno seu caso, você pode usar nl2br() e depois usar o str_replace()
Poderia explicar um pouco melhor, por favor?GratoLeandro
consegui fazer funcionar assim:$string = str_replace(" \' "," ' ",$string);os espaços não existem coloquei para visualização.porem para aspas duplas ja não funciona. O grande problema é que esta sendo usado barras invertidas.
exemplo:
>
<?
function limpar($texto){return str_replace("\\","",str_replace("
","
",nl2br($texto)));}
echo limpar($string);
?>
a função retornará isso:
>
str_replace("\\","",str_replace("
","
",nl2br($texto)))
dividindo o script para visuzlizar melhor:
>
1 - str_replace("\\","",
2 - str_replace("
","
",
3 - nl2br($texto)
)
)
nl2br() é uma função do PHP veja mais na documentação:php.net
>
consegui fazer funcionar assim:
$string = str_replace(" \' "," ' ",$string);
os espaços não existem coloquei para visualização.
porem para aspas duplas ja não funciona. O grande problema é que esta sendo usado barras invertidas.
Cara sou novo aqui e entrei apenas pra compartilhar algo que responde sua pergunta
achei muito simples e eficiente
veja:
$nova variável = str_replace(“\\”,”",$variavel_a_ser_tratada);
qualquer dúvida encontrei a resposta neste link:
Quase acertaram com strip_tags, mas a função strip_tags remove as tags HTML, e não os escapes.
Leandro: escapes são adicionados a uma string, quando um caractere tem "poderes" de modificar o comportamento da string em uma query no banco de dados, tal como apóstrofos, aspas duplas ou outra barra. Isso é comumente utilizado para evitar SQL Injection, é apenas uma de muitas formas. Como \n, \r, \t, e muitos outros são comportamentais da string e não afetam query, esses não possuirão escapes.
Existem algumas funções para inserir escape, a principal é addslashes. Para desfazer o escape gerado, deve-se usar a função stripslashes
string = "Marcio//ricardo";$string = str_replace("//","",$string);isso deve resolver seu problema...abraçosMarcio