在PHP中将\r\n文本区域转换为换行符(不使用<;br>;标记)
我在这个网站和谷歌上搜索过,没有找到一个可行的解决方案。有解决办法,但似乎没有一个对我有效 我有一个文本区域,用作表单的输入,以及显示要编辑的表单时的输出(可编辑)。因此,我有一个文本区域,如下所示:在PHP中将\r\n文本区域转换为换行符(不使用<;br>;标记),php,html,mysql,Php,Html,Mysql,我在这个网站和谷歌上搜索过,没有找到一个可行的解决方案。有解决办法,但似乎没有一个对我有效 我有一个文本区域,用作表单的输入,以及显示要编辑的表单时的输出(可编辑)。因此,我有一个文本区域,如下所示: echo '<textarea>'.$resolution.'</textarea>'; 现在,我发现使用stripslashes删除额外的斜杠很简单,如下所示: $resolution = stripslashes($resolution); …但是,现在的输出是:
echo '<textarea>'.$resolution.'</textarea>';
现在,我发现使用stripslashes删除额外的斜杠很简单,如下所示:
$resolution = stripslashes($resolution);
…但是,现在的输出是:
This is a\r\n\r\ntest.
我不知道如何将\r\n转换为换行符(即,不使用标记,因为这只会在不支持html的textarea中输出
。我尝试了以下所有方法,但均无效:
//Effort 1
$resolution = trim($resolution);
//Effort 2
$resolution = nl2br($resolution);
//Effort 3
$resolution = htmlentities($resolution);
//Effort 4
$resolution = preg_replace("\\r\\n","<br>",$resolution);
//努力1
$resolution=trim($resolution);
//努力2
$resolution=nl2br($resolution);
//努力3
$resolution=htmlentities($resolution);
//努力4
$resolution=preg_replace(“\\r\\n”、“
”、$resolution);
我现在完全不知所措。有人能解释一下吗?只要在str\u replace上用双引号就行了
str_replace('\r',"\r",str_replace('\n',"\n",$resolution));
或者如果你真的在处理双重反斜杠:
str_replace('\\\\r',"\r",str_replace('\\\\n',"\n",$resolution));
只需在str_replace上使用双引号
str_replace('\r',"\r",str_replace('\n',"\n",$resolution));
或者如果你真的在处理双重反斜杠:
str_replace('\\\\r',"\r",str_replace('\\\\n',"\n",$resolution));
PHP有两种不同的字符串构建模式。第一种使用单引号,并且绝对不会进行变量或特殊字符替换。这就是您所使用的 第二种方法是在双引号字符串中嵌入变量,它应该可以工作:
$text = str_replace("\\", "\", $text);
echo "<textarea>$text</textarea>";
$text=str\u替换(“\\”、“\”、$text);
回显“$text”;
\r
和\n
现在应该是输出中的活动回车符和换行符,而不是字符“斜杠”,然后是“r”或“n”PHP有两种不同的字符串生成模式。第一种模式使用单引号,并且绝对不会进行变量或特殊字符替换。这就是您正在使用的
第二种方法是在双引号字符串中嵌入变量,它应该可以工作:
$text = str_replace("\\", "\", $text);
echo "<textarea>$text</textarea>";
$text=str\u替换(“\\”、“\”、$text);
回显“$text”;
\r
和\n
现在应该是输出中的活动回车符和换行符,而不是字符“斜杠”然后是一个“r”或“n”我不确定,但感觉这个问题已经得到了回答——基本上:让CSS处理换行,而不是尝试将
放在
标记之间。如果您将数据存储在数据库中,您可能希望将insert放在
标记之间aswell@Mike“Pomax”Kamerman如何移除\r\n即使我可以在CSS中处理它?@SuperDJ如果我有这是一个测试。作为我的输出,我当然可以尝试。但是,我得到的只是一个\r\n\r\n测试。或者(如果使用上面列出的两种方法,我不会得到任何可能的重复,我不确定,但感觉这已经得到了回答——基本上:让CSS处理换行,而不是尝试将
放在
标记之间。如果您将数据存储在数据库中,您可能希望将insert放在
之间。)标签aswell@Mike“Pomax”Kamerman如何删除\r\n即使我可以在CSS中处理它?@SuperDJ如果我有这是一个测试。作为我的输出,我当然可以尝试。但是,我得到的只是一个\r\n\r\n测试。或者(如果使用上面列出的两种方法,我不会得到任何可能重复的好答案,但是使用数组而不是两个函数调用。这样更有效。好答案,但是使用数组而不是两个函数调用。这样更有效。