首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用html标记包装textarea内容

用html标记包装textarea内容
EN

Stack Overflow用户
提问于 2020-04-04 21:55:06
回答 1查看 355关注 0票数 0

我使用以下形式将文本文件保存在服务器上:

代码语言:javascript
运行
复制
<form action="***.php" method="post">
   <textarea class="chrr" name="text" placeholder="Text" required></textarea>
   <button type="submit">SAVE</button>
</form>

使用以下javascript代码,我将更正textarea输入:

代码语言:javascript
运行
复制
const form = document.forms[0];
const string = document.getElementsByClassName("chrr");

form.oninput = () => {
   string[0].value = correct(string[0].value);
};

function correct(string) {
   string = string.replace(/  +/g, ' ');
   string = string.replace(/—|–/g, '-');
   string = string.replace(/‘|’/g, "'");
   string = string.replace(/“|”/g, '"');
   string = string.replace(/…/g, '...');
   return string;
};

现在我想用"p“标签包装每一行文字。因此,如果我粘贴在文本区域:

代码语言:javascript
运行
复制
First line...
Second line...
Third line...

案文应自动改为:

代码语言:javascript
运行
复制
<p>First line...</p>
<p>Second line...</p>
<p>Third line...</p>

如何使用纯JavaScript (无jQuery)实现此结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-04 21:59:32

您可以使用\n拆分字符串,然后映射字符串以使用元素(p)包装字符串。最后,加入他们:

代码语言:javascript
运行
复制
var str = `First line...
Second line...
Third line...`;

str = str.split('\n').map(s => `<p>${s}</p>`).join('\n');
console.log(str);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61035334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档