0
我有一個允許用戶輸入要從字符串末尾修剪的字符的窗體。這是一個簡單的例子。表單提交回自己並更改字符串測試123,如果在表單中輸入逗號,則返回測試123(逗號被移除)。但是如果同一個字符串在逗號後有一個換行符\ r \ n會怎麼樣?我希望能夠在表格中輸入,\ r \ n並返回測試123因此,空行和逗號都會被修剪。我認爲它必須逃脫,但我無法弄清楚。我已經試過了removalashes,htmlspecialchars,urldecode。我似乎無法得到它。php如何逃避POST變量中的換行符字符
<?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,$ _ POST ['trim']) ;' – CheeseFlavored
我增加了另外一行,我想這就是你要求的。 – Enstage
嗯,不,因爲問題是用戶輸入他想要從現有字符串中刪除的內容。如果字符串是'Hello World!',並且你在表單中輸入'!','Hello World'將被返回。我希望能夠在這種情況下輸入',\ r \ n'來刪除我在代碼中提到的字符串中的逗號和換行符。出於某種原因,您不能將'\ r \ n'作爲表單數據發佈。 – CheeseFlavored