我如何删除这个" \ r \ n"在我的字符串中

时间:2014-08-28 04:15:43

标签: php

我在通过套接字向客户端发送消息时遇到问题,我想发送的字符串就是这样的" @@ w32,12345678,xxx,5 * zy \ r \ n"

$msg = $_POST['comm_input']; //"@@w32,12345678,xxx,5*zy\r\n" 

如果这是张贴的,我得到$ msg的值,这是" @@ w32,12345678,xxx,5 * zy \ r \ n"

但是我的客户不会接受这种消息..但如果我手动这样做而不发布comm_input;

$testmsg = "@@w32,12345678,xxx,5*zy\r\n";

它工作正常,我试着在firebug中看到没有双引号和\ r \ n。它工作正常。

如果我发布了comm_input.并在firebug中看到有双引号和\ r \ n,我该如何删除它。

3 个答案:

答案 0 :(得分:2)

您可以使用str_replace function删除\ r \ n。

DEMO

<?php
$testmsg = "@@w32,12345678,xxx,5*zy\r\n";   <-- $_POST value
$order = "\r\n";
$replace = "";
$newstr = str_replace($order, $replace, $testmsg);
echo $newstr;   //outputs @@w32,12345678,xxx,5*zy
?>

答案 1 :(得分:1)

你可以使用

$msg = "@@w32,12345678,xxx,5*zy\r\n";
$str = rtrim($msg);

参考trim()rtrim()

答案 2 :(得分:1)

使用str_replace,您需要使用\\转义\r,因此\\r字符串变为$msg = $_POST['comm_input']; //"@@w32,12345678,xxx,5*zy\r\n" ; $new_msg = str_replace("\\r\\n", "", $msg);

$new_msg = str_replace('"', "", $new_msg);

修改:删除双引号

{{1}}

请阅读本文:Escape Sequence in PHP