Php 如何转换<;br/>;在预填充的文本区域上换行

Php 如何转换<;br/>;在预填充的文本区域上换行,php,forms,textarea,newline,nl2br,Php,Forms,Textarea,Newline,Nl2br,我对预先填充的textarea表单中出现的标记有问题(显然没有中断)。因此,这些中断标记需要在文本区域内转换为/n。这个预先填充的文本通过URL检索,URL中似乎也有break标记 基本上是发生了什么以及我需要什么: 我必须从上一页(最初是从数据库中提取的)中获取一块文本,并将该文本块加载到表单提交页面上的textarea字段中。然后,用户填写其余表单字段并提交表单,然后将此信息存储到数据库中的特定表中 为了让文本块正确地显示在第一页上,我必须使用nl2br在页面上正确地打断这一部分。很明显,现

我对预先填充的textarea表单中出现的

标记有问题(显然没有中断)。因此,这些中断标记需要在文本区域内转换为
/n
。这个预先填充的文本通过URL检索,URL中似乎也有break标记

基本上是发生了什么以及我需要什么:

我必须从上一页(最初是从数据库中提取的)中获取一块文本,并将该文本块加载到表单提交页面上的textarea字段中。然后,用户填写其余表单字段并提交表单,然后将此信息存储到数据库中的特定表中

为了让文本块正确地显示在第一页上,我必须使用
nl2br
在页面上正确地打断这一部分。很明显,现在它输出的是带换行符的文本,而不是新行

这意味着,当您单击链接以在下一页填充表单时,该链接中有断开标记,而断开标记又会显示在下一页的textarea字段内以及URL中

我不知道我需要做什么才能再次用
/n
替换那些

。似乎我可以使用
str_replace
preg_replace
,但我还没有找到一个示例,说明如何将这两种方法结合使用,例如:

<textarea rows="10" cols="50"><? if(isset($_GET['text-property'])){ echo $_GET['text-property']; }?></textarea>

请记住,我仍然在学习PHP的过程中,所以我真的需要细节,如果可能的话,最好是示例


谢谢

您需要使用
preg\u replace

<textarea rows="10" cols="50"><? if(isset($_GET['text-property'])){ echo preg_replace('/<br[^>]*?>/si', '\n',$_GET['text-property']); }?></textarea>


谢谢,这在将中断转换为新行方面确实有效。但是现在它只是显示“/n”而不是BR,并且它仍然没有实际地将文本打断到下一行。知道怎样才能真正突破吗?事实上,没关系…我只做了一点小小的改变就搞定了。我在你有'/n'的地方使用了PHP_EOL。所以现在看起来像“”