php - str_replace 没有输入
问题描述
要删除新行,以下代码运行良好;
<?php
$text = "Hello \nwelcome to \ngeeksforgeeks";
$text = str_replace("\n", "", $text);
echo $text;
?>
输出:您好,欢迎来到 geeksforgeeks。
但是当我把它作为输入时它不起作用;
<form method="post">
<label>enter string</label> 
<input type="text" name="string"></input><br><br>
<input type="submit" name="enter"></input>
</form>
<?php
if(isset($_POST['enter']))
{
$text=$_POST['string'];
$out=str_replace("\n","",$text);
echo $out;
}
?>
输入:您好\n欢迎来到\ngeeksforgeeks;
输出:你好\n欢迎来到\ngeeksforgeeks。
请告诉我原因
解决方案
在双引号字符串中,\n
是成为换行符的转义序列。您想匹配\n
用户输入中的文字,因此您应该使用单引号字符串,它不处理转义序列。
if(isset($_POST['enter']))
{
$text=$_POST['string'];
$out=str_replace('\n',"",$text);
echo $out;
}
推荐阅读
- validation - 为什么 Rails 显示验证错误?
- python - 覆盖在使用 python 3.8 但不是 3.7 的 Windows 上运行非常缓慢
- java - 如何在面向对象设计中管理交叉引用?(国际象棋示例)
- python - 向 tf.estimator 提供时间数据:`input_fn` 必须是可调用的
- javascript - React - 如何将包含在变量中的 HTML 呈现出来?
- powershell - powershell 中的 Compress-7zip 有时会创建无效的 zip 文件
- installation - 在控创 ETX LX2 板上安装 Windows 10 IoT Core (Computer-on-Module)
- python - 将 ndarray 从 Python 扩展返回到 C
- python - 如何选择使用哪个设备录制(Python PyAudio)
- sql - SQL中的多个正则表达式求和