(已关闭)PHP Textarea 替换用 br 标记返回键(新行)而不是将其保存到 txt 文件

Posted

技术标签:

【中文标题】(已关闭)PHP Textarea 替换用 br 标记返回键(新行)而不是将其保存到 txt 文件【英文标题】:(CLOSED) PHP Textarea replace returns key (new line) with br tags than save it to txt file 【发布时间】:2014-01-05 13:18:28 【问题描述】:

我在这里问过类似的问题,但我找不到任何解决方案。 正如我已经说过的,我是 php 的初学者,我想做的是:

我有一个表格,上面有日期、标题和文本。

title 是一个文本输入字段,完美运行。 文本是文本区域输入字段,不起作用。

用户在输入字段中写入的内容将被保存到一个文本文件中,如下所示:

2013-01-01|title|text

我在保存结果后选择了这个原因,我想分解成数组。 问题是:

-当我在 textare 字段中写下内容,然后按回车创建新行时,输出文本文件是这样的:

2013-01-01|title|text
text2
text3
text4

代替:

2013-01-01|title|text<br>text2<br>text3<br>text4

我能得到这个结果吗?如果我得到这个结果,当我使用这个代码把所有的东西分割成数组时

<?php
    $i = 0;
    $array = file("news/news.txt");
     foreach($array as $row)
            $data = $titolo = $testo = "";// initialize the valiables 
            $split = explode('|', $row);
            $data = (isset($split[0])?$split[0]:"");
            $titolo = (isset($split[1])?$split[1]:"");
            $testo = (isset($split[2])?$split[2]:"");
            $i++;
            print '<div id="'.$i.'" class="news"><div class="date">'.$data.'</div><div class="title">'.$titolo.'</div><div class="text">'.$testo.'</div></div>';
             
?>

我是否能够在输出 html 文件中获得类似这样的内容:

<div id="1" class="news">
   <div class="date">2013-01-01</div>
   <div class="title">Title1</div>
   <div class="text">text 1<br>
                     text 2<br>
                     text 3<br>
   </div>
</div>

我的另一个答案是这样,从另一个角度解释问题。

How to save textarea content inside a .txt file with php

非常感谢。

更新

在我的代码中使用nl2br后,得到的文本输出是这样的:

05-01-2014|asd|asd<br />
asd<br />
asd<br />
asd<br />

更新

我已经解决了

str_replace( "\n", '&lt;br /&gt;')

而不是 nl2br

感谢大家的重播!

【问题讨论】:

【参考方案1】:

希望您在文本文件中期待2013-01-01|title|text&lt;br&gt;text2&lt;br&gt;text3&lt;br&gt;text4

那么你应该在存储到文件之前使用nl2br转换textarea内容。

$content = nl2br($_POST["content"]);

【讨论】:

用你的代码我得到这个输出文件:05-01-2014|asd|asd asd asd asd 新行还在在那里,如何也删除新行? 你在哪里获得新线路?你能用最新的尝试更新你的问题吗?因为我们在评论中看不到正确的输出。【参考方案2】:

您是否已经考虑过 nl2br 功能? http://it2.php.net/nl2br

【讨论】:

以上是关于(已关闭)PHP Textarea 替换用 br 标记返回键(新行)而不是将其保存到 txt 文件的主要内容,如果未能解决你的问题,请参考以下文章

textarea 按回车为啥不换行

PHP 用 <br/> 替换文字 \r\n (不替换新行)

JS textarea内容里面有br就换行 我是从数据库出来数据,有<br />

php 在textarea中将enter转换为br以发送短信

一次替换多个字符串

我想扩JS替换textarea 中回车字符和空格