Parte do meu código PHP
inclui a construção de uma cadeia de URL
seguinte maneira:
$msg = $_REQUEST["msg"]; $content = 'action=sendmsg'. '&user='.rawurlencode($username). '&password='.rawurlencode($password). '&to='.rawurlencode($destination). '&text='.rawurlencode($msg);
Quando $msg
passa a conter um apóstrofo, ele é enviado como "\'"
.
O que eu preciso fazer para garantir que a barra invertida não esteja inserida pelo PHP
?
Você provavelmente deseja verificar stripslashes: http://php.net/manual/en/function.stripslashes.php
Suponha que você deseja enviar a variável $content
vez de simplesmente remover as barras invertidas, considere usar urlencode () em vez de rawurlencode()
. Além disso, você pode usar a function uma vez para sua variável $content
.
$content = urlencode($content);
UPDATE: tanto urlencode
como rawurlencode
podem não corresponder ao seu caso. Por que você simplesmente não envia o $content
sem codificação de URL? Como você envia nossa cadeia de consulta? Se você estiver usando o CURL, não precisa codificar os parâmetros.
Podes tentar