如何使用php修剪字符串中的换行符和空格

如何使用php修剪字符串中的换行符和空格,php,Php,我有一个字符串如下 $key="bf3iZzS9vJFf68R2DgKcVEb0gG2ZuxB2N3nx/VmCgnvQweTiPhdGIWgoifR/a2Cj7yhD6RnAlqPD vXFXubDdIyuoEEf9FbAN4z7uuUBbuJWfy8uNPG/9b2fi6uU8d/jPtkPz+QotFGxf68R2DgKcVAxl n+JT2sq20MHk4j4XRiFoKIn0f2tgo+sVQZmUH8fjjct7YYgqWIoUUZ48kBq4e4V1i7vZuywrLDDy eF8

我有一个字符串如下

$key="bf3iZzS9vJFf68R2DgKcVEb0gG2ZuxB2N3nx/VmCgnvQweTiPhdGIWgoifR/a2Cj7yhD6RnAlqPD
vXFXubDdIyuoEEf9FbAN4z7uuUBbuJWfy8uNPG/9b2fi6uU8d/jPtkPz+QotFGxf68R2DgKcVAxl
n+JT2sq20MHk4j4XRiFoKIn0f2tgo+sVQZmUH8fjjct7YYgqWIoUUZ48kBq4e4V1i7vZuywrLDDy
eF89tBO3AlP4UvcRhPpnSvkiAr2L00RIQ3Q3WcWoeJyfwbWuBeZMGdVMHWKfw71xV7mw3SPRPkWp
raBIMl/rxHYOApxUzm3JG/E8ydOJnxwk5AfZ3eM+7rlAW7iVXWtOiYlc5kHdM/qPEzgJoFj+dIyF
D7oY0MHk4j4XRiFoKIn0f2tgoxwGU/9s1ZR1twJT+FL3EYS9PVOO+F2kl2UXr7fBbMqTw71xV7mw
3SNNL4XmU21tkydbUbRMxn4N9F+0umQpKZtf68R2DgKcVA3zA29A+MLjuU1CMmtq/Jq3AlP4UvcR
hL/yQjyWXBag4z7uuUBbuJWCcAMY+XQUuv5r4BXsS5TEjct7YYgqWIp5fUCN1Hf0wISyuFeeMvzQ
O2BeYyz5Kd3+RkIizk8EmY3Le2GIKliKA/dDXrCS43zDvXFXubDdI7oJe5Kb6D8e4z7uuUBbuJXI
4FlDbp01GWfi6uU8d/jPS1i6Qoti3wtoJoL9ZE4l6rEu1ZiKp4vJA99VbSP4sJ1f68R2DgKcVIBW
KDaHLUsEbUQvCQrD81aFdYu72bssKy7QYbHRrCz3g3+dKCEUkrCNy3thiCpYit1ulMgQNuDb1Qzx
E7+eLjknb04gNyPt4cO9cVe5sN0j0T5Fqa2gSDJf68R2DgKcVM5tyRvxPMnTiZ8cJOQH2d3jPu65
QFu4lV1rTomJXOZBluDaFQ4uX+/XPw2JVlR1QNDB5OI+F0YhaCiJ9H9rYKOnLy436D/vb7cCU/hS
9xGEv/JCPJZcFqDjPu65QFu4lejWVYxpEA/m0MHk4j4XRiFoKIn0f2tgo1/sIsDNyc6BNe20OUs6
XoDXJ6ATKViOMNDB5OI+F0YhaCiJ9H9rYKPfiJwkV45T2LcCU/hS9xGEzlN20h1TaAzDvXFXubDd
I6oBokrksg6t4z7uuUBbuJVJsn+4MA2qzmZOv1R17LgPSvmkp1o/5v6br4p2QadbA/AXuBAVa2px
ejpWXnEONNuIi5Ij3sDb3P0pg3DmQVVVAs6UefG7g7LQweTiPhdGIWgoifR/a2Cj6xVBmZQfx+ON
y3thiCpYihRRnjyQGrh7/SmDcOZBVVU4DcNucth4V77Y1kS82DV4hXWLu9m7LCvYZK6Br6xNGmfi
6uU8d/jPJNYHn8pC3lQazz11SZ0l+IV1i7vZuywr5DbUic7ksoxFhlcfmsJGHDgakBQdAtaYOxSS
96MvMLrl8OEMpKE9RtXITsXTj/JicJoSJbY+w3Mszce1vHs0YkdCZug6BRRxLM3Htbx7NGL91Op3
oo9u0Jb8jdQb2jNB0MHk4j4XRiEuvf9jqO9829DB5OI+F0YhE8ZmQzVYvJYyVocMjBLRdf75AUVe
jP7gcKxceCT8ZcPQ9eUPjjCRynCsXHgk/GXDNMMfkG5pf9r+a+AV7EuUxD/rQwey6ePEV0FCHDgH
tZK5KmPKJOYJlVl/JlDlxq+MSvmkp1o/5v4SsPAX5jO5KQ=="
我希望绳子是这样的

$key="bf3iZzS9vJFf68R2DgKcVEb0gG2ZuxB2N3nx/VmCgnvQweTiPhdGIWgoifR/a2Cj7yhD6RnAlqPDvXFXubDdIyuoEEf9FbAN4z7uuUBbuJWfy8uNPG/9b2fi6uU8d/jPtkPz+QotFGxf68R2DgKcVAxln+JT2sq20MHk4j4XRiFoKIn0f2tgo+sVQZmUH8fjjct7YYgqWIoUUZ48kBq4e4V1i7vZuywrLDDyeF89tBO3AlP4UvcRhPpnSvkiAr2L00RIQ3Q3WcWoeJyfwbWuBeZMGdVMHWKfw71xV7mw3SPRPkWpraBIMl/rxHYOApxUzm3JG/E8ydOJnxwk5AfZ3eM+7rlAW7iVXWtOiYlc5kHdM/qPEzgJoFj+dIyFD7oY0MHk4j4XRiFoKIn0f2tgoxwGU/9s1ZR1twJT+FL3EYS9PVOO+F2kl2UXr7fBbMqTw71xV7mw3SNNL4XmU21tkydbUbRMxn4N9F+0umQpKZtf68R2DgKcVA3zA29A+MLjuU1CMmtq/Jq3AlP4UvcRhL/yQjyWXBag4z7uuUBbuJWCcAMY+XQUuv5r4BXsS5TEjct7YYgqWIp5fUCN1Hf0wISyuFeeMvzQO2BeYyz5Kd3+RkIizk8EmY3Le2GIKliKA/dDXrCS43zDvXFXubDdI7oJe5Kb6D8e4z7uuUBbuJXI4FlDbp01GWfi6uU8d/jPS1i6Qoti3wtoJoL9ZE4l6rEu1ZiKp4vJA99VbSP4sJ1f68R2DgKcVIBWKDaHLUsEbUQvCQrD81aFdYu72bssKy7QYbHRrCz3g3+dKCEUkrCNy3thiCpYit1ulMgQNuDb1QzxE7+eLjknb04gNyPt4cO9cVe5sN0j0T5Fqa2gSDJf68R2DgKcVM5tyRvxPMnTiZ8cJOQH2d3jPu65QFu4lV1rTomJXOZBluDaFQ4uX+/XPw2JVlR1QNDB5OI+F0YhaCiJ9H9rYKOnLy436D/vb7cCU/hS9xGEv/JCPJZcFqDjPu65QFu4lejWVYxpEA/m0MHk4j4XRiFoKIn0f2tgo1/sIsDNyc6BNe20OUs6XoDXJ6ATKViOMNDB5OI+F0YhaCiJ9H9rYKPfiJwkV45T2LcCU/hS9xGEzlN20h1TaAzDvXFXubDdI6oBokrksg6t4z7uuUBbuJVJsn+4MA2qzmZOv1R17LgPSvmkp1o/5v6br4p2QadbA/AXuBAVa2pxejpWXnEONNuIi5Ij3sDb3P0pg3DmQVVVAs6UefG7g7LQweTiPhdGIWgoifR/a2Cj6xVBmZQfx+ONy3thiCpYihRRnjyQGrh7/SmDcOZBVVU4DcNucth4V77Y1kS82DV4hXWLu9m7LCvYZK6Br6xNGmfi6uU8d/jPJNYHn8pC3lQazz11SZ0l+IV1i7vZuywr5DbUic7ksoxFhlcfmsJGHDgakBQdAtaYOxSS96MvMLrl8OEMpKE9RtXITsXTj/JicJoSJbY+w3Mszce1vHs0YkdCZug6BRRxLM3Htbx7NGL91Op3oo9u0Jb8jdQb2jNB0MHk4j4XRiEuvf9jqO9829DB5OI+F0YhE8ZmQzVYvJYyVocMjBLRdf75AUVejP7gcKxceCT8ZcPQ9eUPjjCRynCsXHgk/GXDNMMfkG5pf9r+a+AV7EuUxD/rQwey6ePEV0FCHDgHtZK5KmPKJOYJlVl/JlDlxq+MSvmkp1o/5v4SsPAX5jO5KQ=="
我试过下面的方法

str_replace("\n", "", $key);
但它不起作用

有什么建议吗

谢谢

请尝试下面的代码

str_replace(chr(13), "", $key);
希望这对你有所帮助

$order   = array("\r\n", "\n", "\r");
$replace = '';     
$final = str_replace($order, $replace, $str);
var_dump($final);

注意:因为从左向右替换,所以在进行多次替换时,它可能会替换以前插入的值。因此,首先处理
\r\n
,这样它们就不会被转换两次。

试试这个,我认为这是一个简单的方法

 echo str_replace(PHP_EOL, '', $key);
试试这个:

echo str_replace("\r\n","", $key);

问:使用str_替换
PHP_EOL
是否适用于此?@mackiee:dat是我尝试的第一件事,但它不起作用……很好,但这只会修复当前系统上的输入。例如,如果您的服务器使用Windows,并且内容是从Mac提交的,则不会替换它们。@Elavarasanley,我复制问题中的字符串,并用该字符串进行检查。@shin Chiclets。。。甚至我也做了同样的事…:正如我说的,它不起作用了…:/@Elavarasanley,PHP_EOL在所有系统中都是常量?@shin:yadats他们放了什么。。。但是它在我的系统中不起作用。不会
$order=array(“\n”,“\r”)够了吗?实际上我在这里面临着一个不同的问题。我正在使用XML将该密钥发送到另一台服务器。如果看到字符串,中间有“+”符号。因此,在发送请求之前,我正在打印变量(包含字符串)。现在“+”符号在那里,但在发送响应请求之后,我收到一个错误(您无法更改密钥)。问题是,在发送请求后,+符号将被删除。你对此有什么想法吗…?所以你是通过HTTP以某种方式发送数据的。当通过浏览器发送时,表单数据被编码为
application/x-www-Form-urlencoded
,其中空格被
+
字符替换。因此,如果您发送的是纯
+
,那么接收者很可能会认为您指的是空格,并相应地对其进行解码。所以在通过HTTP发送数据之前,URL会对数据进行正确编码。