Ir para conteúdo
Fórum Script Brasil
  • 0

Função Para Trocar Aspas Por Barra Aspas Em Php


ADL

Pergunta

Olá pessoal sou novato em php e estou dando namutenção no site da empresa. Eu tenho uma parte do site que é onde envia mensagem para os clientes só que antes de enviar essa mensagem ela vai para o banco de dados, por tanto vai também todo o html. Eu gostaria de saber como fazer uma função que percorre todo o texto html e onde ele encontrar uma aspas ele substituir por barra aspas. Alguém pode me ajudar por favor ou me disser como começar estou pesquisando no google, mas a sque eu achei so retira de uma palavra. Desde de já eu agradeço a todos.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Você pode utilizar as funções implode() e explode() .

http://www.php.net/manual/pt_BR/function.implode.php

http://www.php.net/manual/pt_BR/function.explode.php

Vamos supor que a mensagem se encontra na variável $mensagem

O código, portanto, será o seguinte:

$mensagemcorrigida = implode("\\\"", explode("\"", $mensagem));
Aí é só você salvar a variável $mensagemcorrigida no database! Você poderá também utilizar a função strtr() . http://www.php.net/manual/pt_BR/function.strtr.php
<?php
$mensagemcorrigida = strtr($mensagem, "\"", "\\\"");
?>
Ou também, a ereg_replace() . http://www.php.net/manual/pt_BR/function.ereg-replace.php
$mensagemcorrigida = ereg_replace ("\"", "\\\"", $mensagem);

Link para o comentário
Compartilhar em outros sites

  • 0

pra substituir tem a função str_replace ....

se você quer substituir aspas duplas o codigo seria esse

$novo_texto = str_replace('"', '\"', $string);

onde $string contem essa mensagem que você quer mudar... $novo_texto vai conter a string com os valores modificados...

acho que é isso que você precisa.

abraço brother, espero ter ajudado

Link para o comentário
Compartilhar em outros sites

  • 0

Vou testar obrigado por enquanto!

Então eu fiz assim $mensagemcorrigida = implode("\\\"", explode("\"", $mensagem)); e a função está colocando duas barras com aspas. Como eu faria para a função colocar uma barra e uma aspas assim \"

Link para o comentário
Compartilhar em outros sites

  • 0

É, realmente isso foi inexperado.

Fiz os testes aqui e ele até começa fazendo certinho, depois ele passa a adicionar as outras barras.

Algum bug, será?

Bom, em todo caso, coloquei um espaço após as strings, creio que resolverá o problema:

$mensagemcorrigida = implode("\\\" ", explode("\" ", $mensagem));

Posta aí os resultados!

Link para o comentário
Compartilhar em outros sites

  • 0

Ai eu fiz assim e deu certo $novo_texto = str_replace('"', '\"', $texto); vai entender ne rsrsrrs. Me tira uma dúvida nesse texto eu tenho links que redireciona para outra página. quando eu enconsto o ponteiro do mouse nele aparece um monte de número e não abre a página. fui no banco e olhei ta tudo certinho sem tirar e nem colocar as informações. Quando chega não abre a olink e aparece um monte de número o que pode ser? Ai muito obrigado pela ajuda de todos vocês mesmo heim.

Link para o comentário
Compartilhar em outros sites

  • 0

Qual é o campo que você está utilizando?

Acabei de testar aqui com um campo VARCHAR e este funcionou sem problemas.

Pode ser também alguma coisa no HTML que o PHP interprete como função ou comando, precisaríamos dar uma olhada no mesmo para poder resolver estas pendências.

Link para o comentário
Compartilhar em outros sites

  • 0

esse é o código para mandar o email ele busca a mensagem do banco.

<?

include "valida_cookies.php";

include "config.php";

?>

<?

// ALTERAR SOMENTE O TEXTO QUE ESTIVER ENTRE AS TAGS <HTML> E </HTML>

// SALVAR E FAZER UPLOAD

$titulo = $_POST['titulo'];

$texto = $_POST['texto'];

$sql=mysql_query("SELECT empresa,contato,email,titulo,texto,id FROM $tb3,$tabela");

if(!$sql){

echo "Erro ao localizar usuários em tabela da base de dados !<br>";}

else

{

while ($reg = mysql_fetch_array($sql))

{

$titulo1 = $reg['titulo'];

$mensagem= $reg['texto'];

$mensagem1 = trim($mensagem);

$empresa= $reg['empresa'];

$contato= $reg['contato'];

$email= $reg['email'];

$headers = "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

$headers .= "From: Honda Dias Estevão Ferreira Advogados<meu email>";

mail("$email"," $titulo1 $titulo",

"Prezado(a) $contato, <p>

$mensagem1

$texto","$headers");

echo "Envio número<b> $cont </b>para :<b> $email </b><br>";

}

echo "<CENTER>Mensagem enviada com sucesso !<BR><BR><a href=\"envia.php\" target=\"_self\">Enviar outra mensagem</a></CENTER>";

}

?>

Os campos lá são 3:

1 titulo, e mensagem onde eu coloquei TEXT por ser grande e um id INT AUTO_INCREMENT. valeu a ajuda ai cara.

Editado por ADL
Link para o comentário
Compartilhar em outros sites

  • 0
Ai eu fiz assim e deu certo $novo_texto = str_replace('"', '\"', $texto); vai entender ne rsrsrrs. Me tira uma dúvida nesse texto eu tenho links que redireciona para outra página. quando eu enconsto o ponteiro do mouse nele aparece um monte de número e não abre a página. fui no banco e olhei ta tudo certinho sem tirar e nem colocar as informações. Quando chega não abre a olink e aparece um monte de número o que pode ser? Ai muito obrigado pela ajuda de todos vocês mesmo heim.

ADL, estou com um problema semelhante. A única diferença é que não envio nem busco a informação no DB. Coleto o texto num formulário e na pagina seguinte processo em php para enviar um email. O problema é que eu uso um editor de texto (TYNY) no formulário, e quando eu insiro um link o email chega com o link quebrado. Usei a função acima e tentei mas nada. O email vai do mesmo jeito quebrado os links.

Como posso tratar os dados pra poder enviar o email normalmente? alguém pode me ajudar

Eu coleto os dados assim:

$texto = $_POST['mensagem'];

Então na funcao mail (pra saber que estou codificando o email para html) eu faço assim:

$headers = 'MIME-Version: 1.0' . "\r\n";

$headers .= 'Bcc:' . $endereco . "\r\n";

$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

// Additional headers

$headers .= 'From: Nome do meu contato <meuemail@dominio.com.br>' . "\r\n";

Estou com este problema, alguém me ajude, por favor

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...