[英]PHP - Remove Line Breaks From Textarea
我想知道我的代码中缺少什么。 我有一个大的形式,将所有值推送到.csv file
。 有textareas
实例,每当我在.csv
文档中放入一些文本内容并在其中添加换行符(按Enter键)时,第一个之后的任何文本行都会破坏.csv
中的值流,并开始新的一行。
我试过检查通过php取值并删除任何空格或中断,但似乎不起作用。
谁能告诉我我想念的东西吗?
HTML:
<textarea id="fianlCommentsText" name="fianlCommentsText"></textarea>
PHP:
$finalCommentsText = $_POST["finalCommentsText"];
function finalCommentsLineCheck()
{
global $finalCommentsText;
preg_replace( "/\r|\n/", "", $finalCommentsText );
}
finalCommentsLineCheck();
\\ r或\\ n的“选择”要求使用括号:
preg_replace( "/(\r|\n)/", "", $finalCommentsText );
试试吧
为了在csv中允许多行字段,您需要用"
例如:
12345,"multiline
text",another_field
如果您的文字内有引号,只需用另一个引号将其转义即可:
12345,"27"" monitor
TFT",another_field
这样,您可以将换行符保留在文本中。
就我而言,我是这样解决的:
输出到文本区域,删除“ \\ n”字符:
<!-- this textarea will show blank carriage return and not \n characters -->
<textarea class="settinginput" id="message" name="message">
<?php echo str_replace('\n',"\n",$message); ?>
</textarea>
在提交之后,这里是如何用'\\ n'而不是扩展字符替换回车符:
str_replace("\r\n",'\n',$_POST['message'])
请注意,replace函数使用双引号和单引号来保存字符串,且不对转义序列进行扩展。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.