【问题标题】:PHP - Remove Line Breaks From TextareaPHP - 从 Textarea 中删除换行符
【发布时间】:2016-10-25 18:31:56
【问题描述】:

我想知道我的代码中缺少什么。我有一个将所有值推送到.csv file 的大型表单。有textareas 的实例,每次我在.csv 文档中放入一些文本内容并添加换行符(按回车键)时,第一个文本之后的任何文本行都会中断.csv,并开始新的一行。

我尝试通过 php 检查取值并删除任何空格或中断,但它似乎不起作用。

谁能告诉我我错过了什么?

HTML:

<textarea id="fianlCommentsText" name="fianlCommentsText"></textarea>

PHP:

$finalCommentsText = $_POST["finalCommentsText"];
function finalCommentsLineCheck()
    {
        global $finalCommentsText;
        preg_replace( "/\r|\n/", "", $finalCommentsText );
    }
    finalCommentsLineCheck();

【问题讨论】:

    标签: javascript php html csv line-breaks


    【解决方案1】:

    就我而言,我是这样解决的:

    输出到 textarea 删除 '\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 函数使用双引号和单引号来保存字符串,而无需扩展转义序列。

    【讨论】:

      【解决方案2】:

      \r 或 \n 的“选择”需要括号:

      preg_replace( "/(\r|\n)/", "", $finalCommentsText );
      

      试试看?

      【讨论】:

      • 啊,dagnabbit,错字...现在修复答案。
      • 顺序应该是 / ( \r | \n ) / 我知道很难看到顺序...我只是把它搞砸了两次。哈哈哈
      • 现在就试试吧!别担心,感谢您的帮助!
      • 还是不行!我认为我的代码的某些部分一定有问题。
      【解决方案3】:

      为了在 csv 中允许多行字段,您需要用 " 引用它们

      例如:

      12345,"multiline
      text",another_field
      

      如果你的文本中有引号,只需用另一个引号转义它们:

      12345,"27"" monitor 
      TFT",another_field
      

      这样你可以在文本中保留换行符。

      【讨论】:

      • 很抱歉,我没有理解您要解释的内容。这是一个输入,因此在用户写入时我不会事先访问,但是,你的意思是我将变量推送到 .cvs 的部分需要用引号括起来,像这样? $csvData = $firstName 。 “,”。 $姓氏。 “,”。 "$homeAddress"
      • 是的,在将多行字段写入 csv 之前,请将其括在双引号中 - 这样您就可以保持用户输入的换行符。
      • @theodoresteiner - Danny_ds 的建议是您不再删除 \r 和 \n,而是更新您的 csv 保存代码以允许保存它。你可以在你的 csv 中有换行符,你只需要正确地“转义”它们,这样它们就不会破坏 csv。你应该看看php.net/fputcsv,它会帮助你逃跑。
      猜你喜欢
      • 2011-05-24
      • 1970-01-01
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 2016-11-17
      相关资源
      最近更新 更多