Ir para conteúdo

POWERED BY:

Arquivado

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

leandro_ufrgs

Problema com barra invertida

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

string = "Marcio//ricardo";$string = str_replace("//","",$string);isso deve resolver seu problema...abraçosMarcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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()

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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:

http://www.segurancaemrede.com/2011/09/como-retirar-barra-invertidabackslash-em-php-seguranca-em-rede/

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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