修改 HTML 的文本区域 - 呈现换行符

Posted

技术标签:

【中文标题】修改 HTML 的文本区域 - 呈现换行符【英文标题】:Text area to modify HTML - rendering line breaks 【发布时间】:2012-01-28 06:41:51 【问题描述】:

我正在将 html 页面的一部分加载到文本区域中,以便进行一些小的更改。所有的 HTML 标签都与文本一起显示,这是我需要做的;我不想要所见即所得的编辑器或任何花哨的东西。

我想要的一件事是除了<p></p><h1></h1> 标签之外,还要在文本区域中显示换行符,否则它是一堵巨大的文本墙,很难校对。我不希望在保存修改后将换行符加倍,因为下一步是将文本区域中的所有内容转换为 PDF 文件。

ETA:nl2br() 不起作用,因为开始时没有换行符。内容是使用循环从 mysql 数据库中的段落组装而成的。

标签也会在循环中插入。

最好的方法是什么?我正在使用 php

哦,PS - 我知道不剥离标签的安全问题。此页面仅供管理员(我)使用,将受密码保护。

【问题讨论】:

【参考方案1】:

也许您可以先过滤这些,然后再显示给textarea?可能是这样的(在结束标记后添加换行符):

$rawhtml = str_replace(array("</p>", "</h1>"), "\n", $rawhtml);

【讨论】:

当然!我试过了,但是一个语法错误让我失望了。在保存最终草稿之前是否需要去掉“\n\n”?谢谢!比利 这取决于。您是否希望在您的数据库中再次清除 ot?【参考方案2】:

在将数据发送到您的 textarea 之前,请将您的变量放入 nl2br() func 中,然后将其发送到您的 textarea。

【讨论】:

这不起作用,因为开始时没有换行符。内容是使用循环从 mySQL 数据库中的段落组装而成的。

标签也在循环期间插入。对不起;我想我应该把它包含在原帖中!谢谢,比利

以上是关于修改 HTML 的文本区域 - 呈现换行符的主要内容,如果未能解决你的问题,请参考以下文章

将文本附加到带有换行符的文本区域

基于Javascript中的换行符解析子字符串中的文本区域

基于Javascript中的换行符解析子字符串中的文本区域

格式化填充的文本区域、回车符、换行符和 HAML

如何阻止 Chrome 在我的文本区域中添加额外的换行符?

如何在预填充的文本区域中将 <br /> 转换为换行符