php如何在POST变量中转义换行符

php如何在POST变量中转义换行符,php,html,forms,escaping,decode,Php,Html,Forms,Escaping,Decode,我有一个表单,允许用户输入要从字符串末尾修剪的字符。这里有一个简单的例子。表单提交回自身并更改字符串Testing 123,如果在表单中输入逗号,则返回Testing 123(逗号被删除)。但是如果同一个字符串在逗号后有一个换行符怎么办。我希望能够在表单中输入,\r\n,并让它返回Testing 123,以便对空行和逗号进行修剪。我想它一定是逃出来的,但我想不出来。我试过RemoveSlash、htmlspecialchars和urldecode。我好像不明白 <?php if (empt

我有一个表单,允许用户输入要从字符串末尾修剪的字符。这里有一个简单的例子。表单提交回自身并更改字符串Testing 123,如果在表单中输入逗号,则返回Testing 123(逗号被删除)。但是如果同一个字符串在逗号后有一个换行符怎么办。我希望能够在表单中输入,\r\n,并让它返回Testing 123,以便对空行和逗号进行修剪。我想它一定是逃出来的,但我想不出来。我试过RemoveSlash、htmlspecialchars和urldecode。我好像不明白

<?php
if (empty($_POST['trim'])) {
echo "<form method='post' action='".$_SERVER["PHP_SELF"]."'>
<input type='text' name='trim'>
<input type='submit' value='submit'>
</form>";exit;}

$str="testing 123,
";
$str=rtrim($str,$_POST['trim']);
echo $str;
?>


将删除字符串末尾的空白,然后用户提供的任何内容。

是的,我可以使用trim来执行此操作,但正如您从上面的代码中看到的,当
,\r\n
输入表单,并放入trim函数时,它将不起作用。例如,我可以这样做
$str=rtrim($str,,\r\n”)但是为什么这不起作用呢
$str=rtrim($str,$\u POST['trim'])我添加了另一行,我想这就是你要问的。没有,因为问题是用户需要输入他想要从现有字符串中删除的内容。如果字符串是
helloworld
进入表单后,
Hello World
将被返回。在这种情况下,我希望能够输入
,\r\n
,以删除我在代码中提到的字符串中的逗号和换行符。由于某些原因,您无法将
\r\n
作为表单数据发布。如果输入的字符串多次出现,该怎么办?你想把它们全部去掉吗?就最后一个?只有一个在字符串的末尾?只有字符串的末尾,这就是我使用rtrim的原因
$str = rtrim($str);
$str = rtrim($str, $_POST['trim']);