繁体   English   中英

PHP-从Textarea删除换行符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM